Blog de SearchWP

Tutoriales, consejos y recursos de WordPress para ayudarte a hacer crecer tu negocio

Cómo incluir envíos de formularios de WordPress en los resultados de búsqueda

Si recopilas comentarios, reseñas y otra información a través de formularios, entonces puedes hacer que estos datos se puedan buscar en tu sitio de WordPress.

Desafortunadamente, la función de búsqueda predeterminada de WordPress no incluye los datos de los formularios. Esto significa que la información valiosa está esencialmente oculta para los usuarios.

Pero con SearchWP, puedes incluir fácilmente los envíos de formularios en el proceso de búsqueda. Ya sea que gestiones encuestas, reseñas o cualquier otro tipo de formulario, SearchWP ayudará a que este contenido sea descubrible.

En este artículo, te mostraremos cómo incluir los envíos de formularios de WordPress en los resultados de búsqueda.

Nota: Antes de continuar con el tutorial, tenga en cuenta que mostrar las entradas del formulario como resultados de búsqueda requiere editar código. Necesitará tener un conocimiento exhaustivo de codificación o contratar a un desarrollador para que esto funcione. Si necesita ayuda en algún momento, póngase en contacto con nuestro equipo de soporte. ¡Estaremos encantados de ayudarle! 

¿Por qué incluir los envíos de formularios en la búsqueda de WordPress?

Hacer que los envíos de formularios sean buscables en WordPress puede mejorar significativamente la funcionalidad y la experiencia del usuario de tu sitio web.

Los usuarios a menudo envían información a través de formularios y pueden necesitar acceder o recordar lo que enviaron más tarde. Al incluir los envíos de formularios en la búsqueda, permites que los usuarios encuentren rápidamente sus propios envíos sin necesidad de contactar a los administradores del sitio.

Por ejemplo, si un usuario envió una solicitud de soporte o una solicitud, puede buscar y encontrar fácilmente su envío para verificar su estado o revisar los detalles.

Los envíos de formularios también contienen contenido valioso que podría no estar fácilmente disponible en otras partes de tu sitio. Esto podría incluir contenido generado por el usuario de encuestas, formularios de comentarios o formularios de comentarios.

También ayuda a evitar duplicaciones, ya que los usuarios pueden buscar un envío de formulario en particular en lugar de crear uno nuevo.

Dicho esto, veamos cómo puedes incluir fácilmente los envíos de formularios en la búsqueda de WordPress.

Haz que los envíos de formularios sean buscables en WordPress

La forma más fácil de buscar diferentes formularios en WordPress es usando SearchWP. Es el mejor plugin de búsqueda para WordPress y ofrece extensiones potentes para algunos de los plugins de formularios de contacto más populares.

Actualmente, SearchWP es compatible con WPForms y Gravity Forms. Facilita la adición de formularios de estos plugins como fuente de motor de búsqueda, para que los usuarios puedan buscar y descubrir fácilmente el contenido de los formularios.

Además de eso, SearchWP está diseñado para superar las limitaciones de la búsqueda predeterminada e indexar todo lo que importa en tu sitio web. Esto incluye campos personalizados, categorías, etiquetas, detalles de productos, archivos multimedia y más.

Primero, deberás visitar el sitio web de SearchWP y crear una nueva cuenta.

SearchWP

Una vez que te hayas registrado, el siguiente paso es descargar el plugin SearchWP.

Para hacerlo, simplemente ve a tu área de cuenta y cambia a la pestaña 'Descargas'. Desde aquí, puedes hacer clic en el botón Descargar SearchWP y guardar el archivo del plugin en tu computadora.

Descargar el plugin SearchWP desde el área de cuenta

Desde aquí, puedes instalar y activar el plugin SearchWP en tu sitio.

Si necesitas ayuda con esto, consulta esta guía sobre cómo instalar el plugin de WordPress.

Después de activar el plugin, verás el asistente de configuración de SearchWP. Simplemente haz clic en el botón 'Iniciar asistente de configuración' y sigue las instrucciones en pantalla para configurar el plugin.

Asistente de incorporación SearchWP

A continuación, necesitará instalar una extensión para que las envíos de formularios sean buscables en WordPress. Para este tutorial, usaremos la extensión WPForms y haremos que las entradas de nuestro formulario de envío de eventos sean buscables.

Simplemente puede ir a SearchWP » Extensiones desde el panel de administración de WordPress y navegar a la extensión Fuente – WPForms. Desde aquí, haga clic en el botón ‘Instalar’.

Instalar extensión WPForms

Debería ver que la extensión ahora se instalará y activará automáticamente, con el Estado cambiando de No instalado a Activo.

Personalizar el motor de búsqueda para incluir envíos de formularios

Ahora que ha configurado SearchWP en su sitio y ha agregado la extensión WPForms, el siguiente paso es personalizar la configuración del motor de búsqueda para que los envíos de formularios sean buscables.

Primero, deberá ir a la página SearchWP » Algoritmo desde su panel de WordPress y agregar un nuevo motor. Simplemente haga clic en el botón ‘Añadir nuevo’ para continuar.

Añadir nuevo motor

A continuación, se abrirá una nueva ventana con su motor Suplementario. Aquí, puede seleccionar las fuentes para su nuevo motor de búsqueda.

Por defecto, SearchWP incluirá Entradas, Páginas, Usuarios y Medios junto con todos los formularios que haya creado en WPForms como fuentes.

Añadir nuevo motor y seleccionar sus formularios

Para limitar la búsqueda solo a WPForms, puede desmarcar todas las demás fuentes excepto los formularios. Si necesita hacer que solo un formulario específico sea buscable, entonces puede simplemente seleccionar ese formulario en particular.

Por ejemplo, solo seleccionaremos el Formulario de Envío de Eventos como fuente para este tutorial. De esta manera, los usuarios pueden buscar fácilmente diferentes eventos que se envían a través del formulario.

Seleccionar solo formularios de WPForms

También puede cambiar el nombre del nuevo motor de Suplementario a lo que desee en el campo ‘Etiqueta del motor’. Por ejemplo, nombraremos nuestro nuevo motor como ‘Motor WPForms’.

Cuando hayas terminado, haz clic en el botón 'Hecho'.

A continuación, verá cada formulario como una fuente en el motor. Luego puede seleccionar qué campos del formulario desea utilizar como atributos.

Los atributos son campos que desea buscar para una fuente dada. Para editarlos, simplemente haga clic en el botón ‘Añadir/Eliminar Atributos’.

Editar atributos para WPForms

A continuación, se abrirá una pequeña ventana donde puede seleccionar qué atributos usar.

Simplemente desmarque los campos del formulario que no desea que la fuente busque.

Seleccionar qué atributos usar

Después de elegir los atributos, simplemente haga clic en el botón ‘Hecho’.

También puede mover el control deslizante para ajustar los pesos de relevancia. Cuanto más a la derecha esté configurado el control deslizante para un atributo, más influencia tendrá ese atributo en la posición en los resultados de búsqueda.

Mover control deslizante para el motor de WPForms

A continuación, deberá desplazarse hasta la parte superior y hacer clic en el botón Guardar para almacenar sus cambios.

Ahora ha creado con éxito un nuevo motor de búsqueda que busca envíos de formularios.

Guardar la configuración del motor

Mostrar entradas de formularios como resultados de búsqueda

Ahora que ha creado un motor de búsqueda que busca envíos de formularios, el siguiente paso es mostrar las entradas de WPForms en los resultados de búsqueda.

Nota: Algo importante que debe recordar es que necesitará habilidades de desarrollo o deberá contratar a un desarrollador para implementar el código en su sitio. De esta manera, las entradas de su formulario aparecerán como resultados de búsqueda utilizando SearchWP. 

Primero, deberá configurar un formulario de búsqueda para el Motor Suplementario que creó anteriormente. Comience creando un <input> con un nombre diferente a s, ya que ese nombre activará una búsqueda nativa de WordPress. 

Puede comenzar con el siguiente código:

<form role="search" method="get" class="search-form" 
      action="<?php echo site_url( 'search-results/' ); ?>">
    <label>
        <span class="screen-reader-text">
            <?php echo _x( 'Search for:', 'label' ) ?>
        </span>
        <input type="search" class="search-field"
            name="searchwp"
            placeholder="<?php echo esc_attr_x( 'Search...', 'placeholder' ) ?>"
            value="<?php echo isset( $_GET['searchwp'] ) ? esc_attr( $_GET['searchwp'] ) : '' ?>"
            title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
    </label>
    <input type="submit" class="search-submit"
        value="<?php echo esc_attr_x( 'Search', 'submit button' ) ?>" />
</form>

Hay dos cosas a tener en cuenta sobre este fragmento:

  1. El nombre del <input> utilizado es searchwp
  2. La acción del formulario apunta a site_url( ‘search-results/’ ). Eso significa que si la URL de su sitio es example.com, este formulario redirigirá a example.com/search-results/ al enviarlo. Esta guía asume que la URL apunta a una Página que ha creado con el propósito de mostrar los resultados del Motor Suplementario.

Cuando cree su formulario de búsqueda, este tiene una acción que apunta a una URL designada como la Página para mostrar sus resultados. Para obtener resultados de SearchWP, primero deberá crear una Plantilla de Página personalizada.

Para obtener más detalles sobre el código del formulario de búsqueda y la plantilla de página, consulte nuestra documentación del Motor Suplementario

Aquí tiene una plantilla de inicio con la que puede trabajar, se basa en el código que se muestra en nuestra documentación del Motor Suplementario:

<?php
/* Template Name: SearchWP Results */

global $post;

// Retrieve applicable query parameters.
$search_query = isset( $_GET['searchwp'] ) ? sanitize_text_field( $_GET['searchwp'] ) : null;
$search_page  = isset( $_GET['swppg'] ) ? absint( $_GET['swppg'] ) : 1;

// Perform the search.
$search_results    = [];
$search_pagination = '';
if ( ! empty( $search_query ) && class_exists( '\\SearchWP\\Query' ) ) {
    $searchwp_query = new \SearchWP\Query( $search_query, [
        'engine' => 'wpformsengine', // The Engine name.
        'fields' => 'all',          // Load proper native objects of each result.
        'page'   => $search_page,
    ] );

    $search_results = $searchwp_query->get_results();

    $search_pagination = paginate_links( array(
        'format'  => '?swppg=%#%',
        'current' => $search_page,
        'total'   => $searchwp_query->max_num_pages,
    ) );
}

get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">

        <header class="page-header">
            <h1 class="page-title">
				<?php if ( ! empty( $search_query ) ) : ?>
					<?php printf( __( 'Search Results for: %s' ), esc_html( $search_query ) ); ?>
				<?php else : ?>
                    SearchWP Supplemental Search
				<?php endif; ?>
            </h1>

            <!-- BEGIN Supplemental Engine Search form -->
            <form role="search" method="get" class="search-form"
                  action="<?php echo site_url( 'search-results/' ); ?>">
                <label>
					<span class="screen-reader-text">
					<?php echo _x( 'Search for:', 'label' ) ?>
					</span>
                    <input type="search" class="search-field"
                           name="searchwp"
                           placeholder="<?php echo esc_attr_x( 'Search...', 'placeholder' ) ?>"
                           value="<?php echo isset( $_GET['searchwp'] ) ? esc_attr( $_GET['searchwp'] ) : '' ?>"
                           title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
                </label>
                <input type="submit" class="search-submit"
                       value="<?php echo esc_attr_x( 'Search', 'submit button' ) ?>" />
            </form>
            <!-- END Supplemental Engine Search form -->
        </header>

		<?php if ( ! empty( $search_query ) && ! empty( $search_results ) ) : ?>
			<?php  foreach ( $search_results as $search_result ) : ?>
                <article class="page hentry search-result">
					<?php
					switch( get_class( $search_result ) ) {
                        case 'SearchWP\Sources\WPForms\Entry':

                        $form_id = $search_result->form_id;
                        $entry_id = $search_result->entry_id;
                        // NOTE: WPForms Field values are stored in the entry fields property as an array.
                        // Each field has the array key equal to the order they were added to the form editor.
                        $fields = $search_result->fields;

                        ?>
                        <div class="result">
                            Form ID:  <?php echo esc_html( $form_id ); ?><br>
                            Entry ID: <?php echo esc_html( $entry_id ); ?><br>
                            Name:     <?php echo esc_html( $fields[0]['value'] ); ?><br>
                            Email:    <?php echo esc_html( $fields[1]['value'] ); ?><br>
                            Subject:  <?php echo esc_html( $fields[5]['value'] ); ?><br>
                            Comment:  <?php echo esc_html( $fields[2]['value'] ); ?><br>
                        </div>
                        <?php
                        break;
					}
					?>
                </article>
			<?php endforeach; ?>

			<?php if ( $searchwp_query->max_num_pages > 1 ) : ?>
                <div class="navigation pagination" role="navigation">
                    <h2 class="screen-reader-text">Results navigation</h2>
                    <div class="nav-links"><?php echo wp_kses_post( $search_pagination ); ?></div>
                </div>
			<?php endif; ?>
		<?php elseif ( ! empty( $search_query ) ) : ?>
            <p>No results found, please search again.</p>
		<?php endif; ?>

    </main> <!-- .site-main -->
</div> <!-- .content-area -->

<?php get_footer(); ?>

A continuación, el código anterior para la plantilla de página del motor suplementario debe adaptarse para las entradas de WPForms.

Aquí tiene el código para WPForms que puede utilizar:

<?php

$searchwp = new \SearchWP\Query( 'marketing', [
    'engine' => 'wpforms',
    'fields' => 'all',
] );

foreach ( $searchwp->results as $result ) {
    switch ( get_class( $result ) ) {
        case 'SearchWP\Sources\WPForms\Entry':
			
            $form_id = $search_result->form_id;
            $entry_id = $search_result->entry_id;
            // NOTE: WPForms Field values are stored in the entry fields property as an array.
            // Each field has the array key equal to the order they were added to the form editor.
            $fields = $search_result->fields;
			
            ?>
            <div class="result">
                Form ID:  <?php echo esc_html( $form_id ); ?><br>
                Entry ID: <?php echo esc_html( $entry_id ); ?><br>
                Name:     <?php echo esc_html( $fields[0]['value'] ); ?><br>
                Email:    <?php echo esc_html( $fields[1]['value'] ); ?><br>
                Subject:  <?php echo esc_html( $fields[5]['value'] ); ?><br>
                Comment:  <?php echo esc_html( $fields[2]['value'] ); ?><br>
            </div>
            <?php
        break;

        default:
            // Another Source was added to the SearchWP Engine.
            print_r( $result );
    }
}


En el fragmento de código, asegúrese de reemplazar wpforms con el nombre de su motor en esta parte: ‘engine’ => ‘wpforms’,

Puede encontrar el nombre de su nuevo motor en la página SearchWP » Algoritmo. Por ejemplo, reemplazaremos wpforms con wpformsengine en el fragmento de código.

Copiar nombre del nuevo motor

Para obtener más información sobre cómo mostrar las entradas de WPForms como resultados, consulte nuestra documentación de WPForms

Por último, si necesita más ayuda, nuestro equipo siempre está aquí para ayudarle. Simplemente póngase en contacto con nuestro equipo de soporte y estaremos encantados de ayudarle.

Esperamos que este artículo le haya ayudado a aprender cómo incluir las envíos de formularios de WordPress en los resultados de búsqueda. También puede consultar nuestras guías sobre cómo agregar campos de Meta Box a la búsqueda de WordPress y cómo rastrear la actividad de búsqueda de su sitio de WordPress.

¡Listo para crear una experiencia de búsqueda en WordPress mejor y más personalizada? ¡Empieza hoy mismo con SearchWP ! 

Cree hoy mismo una mejor experiencia de búsqueda en WordPress

No vuelva a perder visitantes por resultados de búsqueda inútiles. SearchWP facilita la creación de su propia búsqueda inteligente en WordPress.

Obtén SearchWP Ahora
Icono de múltiples motores de búsqueda