Limitar búsquedas solo a los títulos

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.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(0 votos, promedio: 0)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

11 comentarios en “Limitar búsquedas solo a los títulos”

  1. 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»

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido