web-dev-qa-db-fra.com

Comment supprimer des pages de la recherche?

Je n'ai pas besoin de rechercher des pages sur mon site et je ne souhaite que rechercher des articles. Y a-t-il un moyen de le faire? Merci

12
Lisandro

Les éléments ci-dessous devraient rendre le type de publication de page impossible à rechercher.

function remove_pages_from_search() {
    global $wp_post_types;
    $wp_post_types['page']->exclude_from_search = true;
}
add_action('init', 'remove_pages_from_search');
25
prettyboymp

Ce qui suit dans functions.php fonctionne aussi bien:

//Remove pages from search results
function mySearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','mySearchFilter');
13
Arnold

Voici le code qui vérifie si la recherche est effectuée par l'administrateur, puis définit le type de publication à rechercher:

if (!is_admin()) {
function wpb_search_filter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','wpb_search_filter');
}

de: http://www.wpbeginner.com/wp-tutorials/how-to-exclude-pages-from-wordpress-search-results/

0
HcRock

mettez ceci dans votre search.php

<?php if (is_search() && ($post->post_type=='page')) continue; ?>

juste en dessous de ce code -> <?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>

vous pouvez trouver plus ici http://wordpress.org/support/topic/possible-search-only-posts-exclude-pages

0
andrewk