No se han encontrado resultados. ¿Intentar de nuevo con otras palabras?

La búsqueda debe tener al menos 3 caracteres.

Restringir los resultados de la búsqueda sólo a los mensajes

Sidebar Image

Did not find a solution? We are here to help you succeed.

Astra proporciona un opción de búsqueda dentro de un sitio web junto con algunos estilos.

Cuando un usuario busca cualquier término (cadena), los resultados se sirven de todo el sitio web, incluyendo todas tus páginas y entradas. Aunque no existe una opción para restringir la búsqueda solo a las entradas, puedes hacerlo con un código personalizado.

Este documento le mostrará cómo restringir la búsqueda sólo a las entradas. Además, también encontrarás código adicional para excluir los productos de WooCommerce si tienes una tienda online.

Restringir la búsqueda a los mensajes

Para limitar tu búsqueda sólo a las entradas, ve a Panel > Apariencia > Editor de temas. Aquí, tendrás que añadir el siguiente código personalizado a tu Astra Child Theme funciones.php archivo:

add_action( 'wp', 'astra_modify_search_loop', 99 );

/**
* Modify Search Loop.
*
* @return void
*/
function astra_modify_search_loop() {
    remove_action( 'astra_content_loop', array( Astra_Loop::get_instance(), 'loop_markup' ) );
    add_action( 'astra_content_loop', 'astra_redo_loop_markup' );
}

/**
* Redo loop to search only posts.
*
* @return void
*/
function astra_redo_loop_markup( $is_page = false ) {

    global $post;

    ?>
    <main id="main" class="site-main" role="main">

        <?php if ( have_posts() ) : ?>

            <?php do_action( 'astra_template_parts_content_top' ); ?>

            <?php
            while ( have_posts() ) :
                the_post();

                if ( is_search() && ( 'page' == $post->post_type ) ) {
                    continue;
                }

                if ( true == $is_page ) {
                    do_action( 'astra_page_template_parts_content' );
                } else {
                    do_action( 'astra_template_parts_content' );
                }

                ?>

            <?php endwhile; ?>

            <?php do_action( 'astra_template_parts_content_bottom' ); ?>

        <?php else : ?>

            <?php do_action( 'astra_template_parts_content_none' ); ?>

        <?php endif; ?>

    </main><!-- #main -->
    <?php
}

function astra_exclude_products_from_search( $query ) {
    if ( ! is_admin() && $query->is_search() ) {
        $query->set( 'post_type', 'post' );
    }
  }  

Si no tiene instalado el tema infantil, compruebe lo siguiente este artículo sobre cómo hacerlo. Además, si usted no está seguro de cómo agregar este código, por favor revise esto artículo.

Uso del código con Woocommerce

Además, si tienes WooCommerce funcionando en tu web, tus productos se seguirán mostrando junto a las entradas.

Por lo tanto, para excluir también los productos de WooCommerce de la búsqueda, necesitará una versión modificada del código mencionado anteriormente.

Por lo tanto, tendrá que sustituir esta parte en negrita del código:

if ( is_search() && ( 'page' == $post->post_type ) ) {
   continuar;
}

...con éste:

if ( is_search() && ( 'page' == $post->post_type || 'product' == $post->post_type ) ) {
   continuar;
}

Si modificas el código de esta forma, tanto las páginas como los productos de WooCommerce se omitirán de la búsqueda. En consecuencia, solo se mostrarán las entradas como resultado de la búsqueda.

Ya está. Esperamos que esta guía te haya ayudado.

Si tiene algún problema durante el proceso, no dude en ponerse en contacto con nuestro equipo de asistencia. Siempre estamos aquí para ayudarte.

¿Le ha resultado útil este artículo?
Sidebar Image

¿No ha encontrado una solución? Estamos aquí para ayudarle a conseguirlo.

Documentos relacionados

Astra es gratis. Ahora y siempre.

Creemos que crear sitios web atractivos no debería ser caro. Por eso Astra es gratis para todos. Empieza gratis y amplía con paquetes asequibles.

La descarga está a un solo clic

Download Checklist

REWIND

RESUMEN DEL AÑO

La descarga está a un solo clic

Introduce tu dirección de correo electrónico y sé el primero en enterarte de las actualizaciones y novedades.

Descargar gratis Astra Theme - Modal Popup Form
Scroll al inicio
Ahora elija la opción que prefiera
page builder addon
Elija su complemento de creación de páginas preferido

La descarga está a un solo clic

Introduce tu dirección de correo electrónico y sé el primero en enterarte de las actualizaciones y novedades.

Descargar gratis Astra Theme - Modal Popup Form