Come rimuovo Pages dalla ricerca?


13

Non ho bisogno di cercare pagine nel mio sito e voglio solo cercare post, c'è un modo per farlo? Grazie

search 

Risposte:


28

Quanto segue dovrebbe rendere il tipo di post della pagina non più in grado di cercare.

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

Dove inserisco quel codice? Grazie

Puoi metterlo in Functions.php del tuo tema.
prettyboymp,

Grazie mille. Ho appena copiato e incollato e funziona perfettamente

13

Anche il seguente in funzioni.php funziona bene:

//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');

devi essere il sollution. più elegante, più mantenibile. hte sopra modifica solo i parametri di tipo post, questa è la query di ricerca stessa. +1
kaiser

La modifica dell'oggetto tipo di post per il tipo di post "pagina" è una soluzione migliore. Questa soluzione impone che il tipo di post sia impostato come 'post' per tutte le query di ricerca che impedirebbero a qualsiasi tipo di post personalizzato di apparire nella ricerca se un sito ne avesse. L'impostazione globale della proprietà exclude_from_search dell'oggetto del tipo di post "pagina" significa che qualsiasi codice che dipende dal controllo di questa proprietà avrà le informazioni corrette.
prettyboymp,


Funziona bene ma non riprende argomento in bbpress, quindi non va bene. Utilizzando "$ wp_post_types ['page'] -> exclude_from_search = true;" è una buona opzione sembra
Kishore Sahoo

0

mettilo nel tuo search.php

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

proprio sotto questo codice -> <?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>

puoi trovare di più qui http://wordpress.org/support/topic/possible-search-only-posts-exclude-pages


Non ho un search.php se ne recupero uno da un altro tema funzionerà? Grazie

sì. crea prima un search.php vuoto, quindi copia e incolla il codice da index.php. quindi fai quello che ti ho detto sopra.
Andrewk,

1
in realtà dovresti usare il codice di @ prettyboymp. è più facile e fa quello che hai chiesto. l'ho provato. se vuoi ..
andrewk il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.