En ocasiones el buscador interno de WordPress se hace demasiado poco útil, y no es que lo haga mal, pero no es todo lo específico que podría ser, en según que momentos.
Una posible necesidad, si te ha surgido, sería que el buscador interno de WordPress solo realice búsquedas en los títulos, que es de lo que normalmente se acuerda el usuario tipo.
Si es tu caso puedes modificar el comportamiento por defecto del buscador interno de WordPress. Solo hay que añadir este código a tu plugin de funciones o al archivo functions.php
de tu tema activo:
//Buscar solo en títulos function __search_by_title_only( $search, &$wp_query ) { if ( empty($search) ) return $search; // deja de procesar si no hay término alguno en la query $q =& $wp_query->query_vars; // wp-includes/query.php line 2180 (en version 3.3) $n = !empty($q['exact']) ? '' : '%'; $searchand = ''; foreach( (array) $q['search_terms'] as $term ) { $term = esc_sql( like_escape( $term ) ); $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')"; $searchand = ' AND '; } $term = esc_sql( like_escape( $q['s'] ) ); if ( empty($q['sentence']) && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s'] ) $search .= " OR ($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')"; if ( !empty($search) ) { $search = " AND ({$search}) "; if ( !is_user_logged_in() ) $search .= " AND ($wpdb->posts.post_password = '') "; } return $search; } add_filter( 'posts_search', '__search_by_title_only', 10, 2 );
Guardas los cambios y ya lo tienes. Ahora solo hará las búsquedas en los títulos de tus entradas.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Justo es algo que estaba investigando. ¡Qué sincronización! Gracias 🙂
Perdon, se agrega al archivo functions.php de wordpress o al del theme?
Supongo que si es al del theme y mi theme no tiene functions.php debo crearlo cierto?
Si, al del theme, y si no existe lo creas
Lo inclui en el functions de mi theme y al hacer una busqueda no me encontraba nada!
Me pasa exactamente lo mismo que XSkunk
No funciona ni en WP 3.3.2 ni en WP 3.4.
No han sacado un arreglo para la version actual?
Una pregunta, ya lo tengo instalado y funciona bien, lo que pasa es que cuando buscan perros, solo muestra los post con palabra exacta «perros» como le hago para que muestre tambien los post que tienen la palabra «perro»
¡Hola! ¿Cómo podemos hacer lo mismo pero que solo afecte a los resultados de búsqueda del buscador de productos woocommerce?.
Hay plugins específicos para Woocommerce
Gracias por la respuesta Fernando. buscaré a ver, si recuerdas alguno, lo pruebo. Gracias!!