Cela arrive fréquemment lorsque l’on effectue une recherche : on ne comprends pas pourquoi un article remonte plutôt qu’un autre. Le meilleur critère de pertinence reste le titre pour pas mal de webmasters. J’ai moi même eu la problématique lorsque les recherches en back-office dans un champ ACF me sortaient tout et n’importe quoi.

Copier coller le code suivant dans le functions.php de votre thème ;

function recherche_par_titre_uniquement( $search, $wp_query )
{
    global $wpdb;
 
    if ( empty( $search ) )
        return $search; 
 
    $q = $wp_query->query_vars;    
    $n = ! empty( $q['exact'] ) ? '' : '%';
 
    $search =
    $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 ';
    }
 
    if ( ! empty( $search ) ) {
        $search = " AND ({$search}) ";
        if ( ! is_user_logged_in() )
            $search .= " AND ($wpdb->posts.post_password = '') ";
    }
 
    return $search;
}
add_filter( 'posts_search', 'recherche_par_titre_uniquement', 500, 2 );

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>