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.