> WordPress – exclure posts/pages des recherches

J’avais besoin pour deux sites, d’exclure des pages de la recherche sur le site.

J’ai trouvé et utilisé l’excellent script d’Aumaury Balmer

<?php
/*
Plugin Name: Exclude Page/Post in Search
Plugin URI: http://www.herewithme.fr/
Description: Exclure une page ou un article de la recherche
Version: 0.1a
Author: Amaury BALMER
Author URI: http://www.herewithme.fr/
*/

/*
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*/

//add filters based upon option settings
add_filter('posts_where', 'excludePageInSearch');

function excludePageInSearch( $where ) {
  global $wp_query;
  $page_exclude = 6; // Exclure la page 6
  if ( !empty($wp_query->query_vars['s']) ) { // Search only
    $where .= " AND ID != {$page_exclude}";
  }
  return $where;
}
?>

1 – Créez un fichier : excludepage.php

2 – Collez le script ci-dessus dedans (après avoir modifié le numéro de post/page à exclure)

3 – Mettre ce fichier dans votre dossier plugin

4 – Activez le plugin