Escludi alcune categorie WordPress dall'impaginazione. Come escludere post e categorie dalla home page di WordPress, feed RSS, categorie e archivi senza plugin

Nella home page, così come nelle pagine di categoria, negli archivi e nei risultati di ricerca, di solito è necessaria la navigazione della pagina (nota anche come impaginazione). I blog su WordPress non fanno eccezione; utilizzano anche l’impaginazione, quando i risultati dell’output delle informazioni sono divisi in più pagine.

In precedenza, per implementare questa funzionalità venivano utilizzati plugin di terze parti o funzioni speciali che si trovavano nel file funzioni.php. Tuttavia, con il rilascio della versione 4.1 di WordPress, la funzionalità di impaginazione è stata integrata nel cuore del CMS e ora le funzioni interne di WordPress sono sufficienti per implementare la navigazione delle pagine e non è necessario aggiungere codice o plugin di terze parti.

Ho scritto in precedenza di un miglioramento simile da parte di WordPress riguardo al tag TITLE - https://aboutwordpress.ru/post/wordpress-title/.

Cos'è l'impaginazione

L'impaginazione è la divisione delle informazioni in pagine. Con questo concetto si intende anche la numerazione sequenziale delle pagine, indicata da numeri situati in fondo, in alto o a lato della pagina.

WP-PageNavi - Plug-in di impaginazione WordPress

Il plugin di impaginazione più popolare per WordPress è WP-PageNavi. Ad essere onesti, affronta così bene il compito di impaginazione che non ha senso discutere e confrontare altri plugin.

Impaginazione WordPress - plugin WP-PageNavi

Impaginazione WordPress senza plugin

Per eseguire l'impaginazione su un sito Web senza plug-in, utilizzeremo la funzione integrata di WordPress the_posts_pagination(). Nel posto che ci serve, dobbiamo inserire il seguente codice (di solito si tratta di files indice.php, categoria.php e simili):

Il risultato della funzione the_posts_pagination() sarà approssimativamente il seguente codice HTML:

Rimozione dell'intestazione H2 dalla paginazione

L'intestazione H2 “Post Navigation” attira immediatamente la tua attenzione. Che nella maggior parte dei casi non trova posto sul sito. Per sbarazzartene, aggiungi il seguente codice al file funzioni.php:

/* Rimuove H2 dall'impaginazione */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); funzione mio_modello_di_navigazione($modello, $classe)( return "

"; }

Impostazione delle pagine di impaginazione

Per impostazione predefinita, the_posts_pagination() visualizza la prima e l'ultima pagina, nonché una pagina attorno a quella corrente. Tutti gli altri vengono sostituiti con i puntini di sospensione. Questo comportamento può essere modificato utilizzando gli argomenti:

  • show_all: mostra tutte le pagine
  • end_size - numero di pagine all'inizio e alla fine dell'elenco
  • mid_size - numero di pagine a sinistra e a destra della pagina corrente

Ad esempio in questo modo:

2, "dimensione_finale" => 2,)); ?>

Stili di impaginazione CSS

Numeri di pagina (imbottitura: 1% 2%; box-shadow: 0 0 10px #ccc; margine: 0 1% 0 0; background: #fff; border-radius: 3px; )

I collegamenti alle pagine di impaginazione con questi stili appariranno così:

…come farlo? ...in generale, non difficile. E se il compito è proprio quello di vietare la visualizzazione dell'una o dell'altra categoria, risolveremo questo capriccio in pochi minuti.

Tuttavia, c'è un problema:

...risollevando il problema di vietare la visualizzazione di una categoria in un widget, sorge con esso una cupa connessione, ovvero la domanda: come configurare la visualizzazione delle categorie nell'ordine necessario e logico, ma non in modo caotico!?


...dovresti pensarci bene. ...e definisci chiaramente le tue esigenze. Ma andiamo con ordine: e alla fine ti darò una soluzione perfetta e geniale per filtrare le categorie...

utilizzare la semplicità del codice Quando si implementano tali divieti/autorizzazioni per i contenuti necessari/non necessari del blog, vale la pena tenere a mente alcune prospettive per lo sviluppo del proprio sito, in modo da non incontrare un'altra "sorpresa" di accompagnamento. essere o non essere ricostruire il blog in futuro, modificando i file o sostituendo i plugin.

Dopotutto, c'è sempre un'alternativa: se usare un plugin (il loro numero "...like shag..." non è sempre buono), o scrivere il codice nel file delle funzioni - f unctions.php (non male, ma non risolve il problema in modo inequivocabile)!?

Decidetevi!..

Ho mostrato la possibile insufficienza tecnica di un inizio sconsiderato al blogging, e ora offro possibili soluzioni logiche:

Se hai solo bisogno di nascondere una categoria specifica di widget WordPress, che è presente di default nella pancia di ogni nuovo sito, allora è semplice.

Apriamo il file di cui parlavamo Functions.php e da qualche parte nella sua decodifica finale) prima del tag?> scriviamo questo filtro codificato in modo tratteggiato.

// CODICE ESCLUSIONE RUBRICA start function ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //CODICE DI ESCLUSIONE PER RUBRICA end

Il numero 39 indica l'id della categoria, che viene filtrata come un inutile bazar sul sito.

È possibile specificarne diversi, separati da virgole.

...Ecco, una delle domande è chiusa.

come nascondere la visualizzazione di una sottocategoria in un widget

La soluzione è nella versione del codice appena sotto, che proibisce/consente la visualizzazione dei nomi di alcune sottocategorie (post del blog figlio).

// codice di output per le uniche sottocategorie di una categoria con la funzione di avvio ID=7 specificata ext_widget_categories($args)( $args["child_of"] = 7; return $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //codice di output per le uniche sottocategorie della categoria con l'ID specificato=7 end

Le argomentazioni di questi codici possono essere combinate.

Ecco qui!! Abbiamo raggiunto il pieno controllo sul controllo DISPLAY nel widget "Categorie" di tutte le tue categorie.

...ma - comunque, diciamo!! Accade spesso che qualche tempo dopo, dopo aver aperto una pagina del sito, si scopra amaramente un altro difetto: i titoli nel widget della barra laterale non si trovano in ordine logico (a casaccio): la meticolosità di sviluppare professionalità, lo sai.

In questo caso, devi anche scegliere tra diverse opzioni interessanti:

Andiamo al repository dei plugin di WordPress - percorso: console/plugins/aggiungi plugin/...installa/attiva... che miracolo Ordine delle categorie e ordine dei termini della tassonomia.

Traduzione tecnica del preventivo nel plugin:
Ordina le categorie e tutti i termini della tassonomia (personalizzati in modo gerarchico) e i termini secondari utilizzando le funzionalità Javascript ordinabili tramite trascinamento.
Il plugin non ha impostazioni confuse: tutto quello che devi fare è passare il mouse sopra i “record” a sinistra nella console e guardare la voce Ordine tassonomia...

Tutto è paradossalmente semplice: trascinando le schede si configura la sequenza ottimale per la visualizzazione dei nomi delle rubriche esistenti.

Gli svantaggi del metodo “plug-in” sono i seguenti: non è possibile vietare la visualizzazione di determinate categorie...

Dovrai quindi utilizzare il codice suggerito sopra, oppure il plugin mostrato qui sotto...

Vietiamo la visualizzazione di alcune categorie utilizzando il plugin NS Category Widget

... entriamo di nuovo nel repository di WordPress e scarichiamo il plug-in NS Category Widget - questo "salto" ci fornirà un'altra impostazione, ma più elegante oltre al widget "Categorie" esistente: cioè - un widget normale dovrebbe essere eliminato o nascosto in "inattivo" e configura questa opzione avanzata per la gestione del contenuto: mostrarlo/bloccarlo.

Vai alle sue impostazioni e imposta le tue regole: per ID categoria, importanza delle gerarchie e regolazioni simili... È semplice!

Il plugin consente di utilizzare molte unità di widget ai livelli richiesti delle pagine, per le quali le impostazioni sono individuali, a differenza della "categoria" standard, di cui è possibile visualizzarne almeno una dozzina, ma le impostazioni del codice "top" si applicherà a tutti: questo è lo svantaggio della possibilità di collegare un widget di "categoria" standard e il codice descritto all'inizio dell'articolo... E se prevedi di utilizzare diverse opzioni per i widget di categoria, dovresti comunque scarica il plugin NS Category Widget.

MA! in quello avanzato non esiste un ordine più semplice e sottile per l'ordinamento delle categorie: questo è il suo svantaggio. Che confusione!

La decisione è tua...

...se hai visto tu stesso qualcosa di utile nell'articolo, bene!

Ciao ragazzi!

Oggi ci sarà un articolo tecnico che ti mostrerà come escludere i post dalla pagina principale di un sito WordPress.

Imparerai anche come escludere intere categorie, non solo voci specifiche. Ti mostrerò molte opzioni, sia con che senza plugin. In generale, tutto è come sempre.

In quali casi dovrebbe essere utilizzato?

La necessità di escludere alcuni post, cioè i loro annunci, dalla pagina principale esiste soprattutto sui blog personali, quando oltre ad articoli di grandi dimensioni e di alta qualità per un pubblico abituale, vale anche la pena riempire la risorsa con semplici articoli ottimizzati SEO .

È improbabile che tali articoli siano utili ai membri del blog, poiché sanno già tutto questo. Per non intasare la pagina principale di annunci inutili, sarebbe meglio non mostrarli. Allo stesso tempo, dovrebbero essere aggiunti al sito per attirare nuovo pubblico verso la risorsa dai motori di ricerca. Devono anche essere visualizzati, ma questo dovrebbe essere fatto sulle pagine delle sezioni e degli archivi, in modo che i nuovi arrivati ​​possano trovarli utilizzando la navigazione tra le sezioni del sito.

Ad esempio, non troverai questo articolo nella pagina principale del mio blog in nessuna delle loro pagine di impaginazione (navigazione della pagina). Contestualmente l'annuncio dell'articolo è visibile nella sezione “Utili” e nella pagina della mappa del sito “Tutti gli articoli”.

Senza plugin

Il metodo senza plugin è sempre preferibile, ma in questo caso non sarà prioritario, poiché per escludere qualche articolo dovrai ogni volta apportare modifiche al file template che hai installato. Tuttavia, mostrerò diverse opzioni per implementare tale soluzione, poiché è del tutto possibile che sia adatta a te.

Di seguito fornirò varie parti di codice che dovrebbero essere inserite nel file template Functions.php.

Esclusi record specifici per ID

Con questa opzione non è necessario nascondere intere categorie alla visibilità sulla pagina principale, come fanno molti con l'aiuto di vari plugin. Tutto quello che devi fare è aggiungere gli ID dei record richiesti nel codice.

funzioneexclude_post($query) ( if ($query->is_home) ($query->

if ($query -> è_casa)

( $query -> // ID del messaggio

restituire $query; )

Nella riga 3, i numeri 1 e 2 sono record ID che non verranno visualizzati nella home page. Devi scriverlo separato da virgole.

Scoprirai l'ID del post, della pagina e della categoria nella barra degli indirizzi del browser durante la visualizzazione tramite l'editor.

L'opzione successiva ti consentirà di escludere voci dal feed RSS.

Esclusione dal feed RSS

Questo codice ti permetterà di escludere gli annunci dal news feed e di non inviarli via email se utilizzi il servizio di abbonamento e annunci tramite Feedburner.

functionexclude_post($query) ( if ($query->is_feed) ($query->set("post__not_in", array(1, 2));) // post (post) id return $query; ) add_filter(" pre_get_posts","exclude_post");

funzione esclude_post ($query) (

if ($query -> is_feed)

($query -> set("post__not_in", array (1, 2)) ;) // ID del messaggio

restituire $query; )

add_filter ("pre_get_posts", "exclude_post");

L'aggiunta dei record in questo caso e in tutti gli altri avviene allo stesso modo.

Esclusione da categorie e archivi

Per escludere i post dalle pagine delle categorie, dovresti utilizzare il seguente codice.

functionexclude_post($query) ( if ($query->is_category) ($query->set("post__not_in", array(1, 2));) // post (post) id return $query; ) add_filter(" pre_get_posts","exclude_post");

funzione esclude_post ($query) (

if ($query -> is_category )

($query -> set("post__not_in", array (1, 2)) ;) // ID del messaggio

restituire $query; )

add_filter ("pre_get_posts", "exclude_post");

Questo codice può essere modificato per applicare un'eccezione dagli archivi. È necessario sostituire la funzione is_category con is_archive nel 2° edificio.

Esclusione dalla pagina di ricerca

Questa opzione potrebbe essere necessaria anche se alcuni record non devono essere mostrati ai visitatori quando utilizzano la ricerca nel sito. Ad esempio, potrebbero trattarsi di vari articoli di notizie che non contengono contenuti sull'argomento del sito.

functionexclude_post($query) ( if ($query->is_search) ($query->set("post__not_in", array(1, 2));) // id articolo return $query; ) add_filter(" pre_get_posts", "exclude_post");

funzione esclude_post ($query) (

if ($query -> is_search )

($query -> set("post__not_in", array (1, 2)) ;) // ID del messaggio

restituire $query; )

add_filter ("pre_get_posts", "exclude_post");

Combinando diverse opzioni

Puoi combinare tutte le opzioni di cui sopra ed escludere record da tutti i tipi di pagine contemporaneamente o selettivamente su quelle necessarie.

Se osservi attentamente tutti i codici, nella 2a riga puoi vedere una condizione in cui il parametro dei tipi di pagina è impostato per disabilitare la visualizzazione degli annunci post in essi contenuti:

  • è_cerca
  • è_categoria
  • è_feed
  • è casa

Puoi combinare tutte le opzioni ed escludere i post ovunque o su alcune pagine. Ad esempio, per le esclusioni dalle categorie e dal main, dovresti inserire il seguente codice nel file Functions.php.

functionexclude_post($query) ( if ($query->is_category || ($query->is_home)) ($query->set("post__not_in", array(1, 2));) // post id ) return $query; ) add_filter("pre_get_posts","exclude_post");

funzione esclude_post ($query) (

if ($query -> is_category || ($query -> is_home ) )

($query -> set("post__not_in", array (1, 2)) ;) // ID del messaggio

restituire $query; )

add_filter ("pre_get_posts", "exclude_post");

La seconda riga con la condizione (if) contiene parametri per le categorie (is_category) o la casa (is_home).

Da notare che ogni parametro successivo è scritto all'interno del precedente tramite 2 barre verticali e si trova tra parentesi quadre. Cioè, se guardi il codice precedente, vedrai che la seconda condizione per la pagina principale è racchiusa tra parentesi proprie ed è all'interno delle parentesi generali che racchiudono la prima condizione per le categorie.

Se vale la pena aggiungere una terza condizione, ad esempio per le pagine di archivio, allora vale la pena aggiungerla tra parentesi con la condizione per quella principale (is_home) e scriverla attraverso 2 barre verticali. In pratica sembra così.

funzione esclude_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive))) ($query->set("post__not_in", array(1, 2) );) // ID articolo return $query; ) add_filter("pre_get_posts","exclude_post");

funzione esclude_post ($query) (

if ($query -> is_category || ($query -> is_home || ($query -> is_archive ) ) )

($query -> set("post__not_in", array (1, 2)) ;) // ID del messaggio

restituire $query; )

add_filter ("pre_get_posts", "exclude_post");

Utilizzando lo stesso principio, aggiungi altri tipi di pagine da escludere.

L'opzione successiva per escludere i record consiste nell'escludere intere intestazioni (categorie).

Escluse intere categorie

Questo è molto comodo per i pigri, quando puoi semplicemente creare una sorta di categoria e aggiungere lì tutti i post che non richiedono la visualizzazione su determinati tipi di pagine.

La struttura del codice è quasi la stessa. Cambia solo il parametro che specifica l'esclusione di un post o di una categoria. Nei casi discussi in precedenza, l'ultima riga era impostata su esclude_post. Nel nuovo codice dovrebbe essere sostituito conexclude_cat.

functionexclude_cat($query) ( if ($query->is_home) ($query->set("cat","-1, -2, -3");) // id categoria return $query; ) add_filter( "pre_get_posts","exclude_cat");

funzione esclude_cat ($query) (

if ($query -> è_casa)

( $query -> set ("cat" , "-1, -2, -3" ) ; ) // ID categoria

restituire $query; )

add_filter ("pre_get_posts", "exclude_cat");

Come puoi vedere, l'ultima riga ha subito modifiche e la 3a riga, dove è stato modificato il parametro che legge l'ID della categoria. L'ID in questo caso si scrive tramite un trattino, ma anche tramite una virgola.

Il principio di costruzione delle condizioni per i tipi di pagina è simile alle opzioni discusse in precedenza, dove ho mostrato l'esempio di esclusione di post specifici. Vale la pena modificare la 2a riga, aggiungendo i parametri necessari per categorie, ricerca, archivi o feed RSS.

Quindi, abbiamo esaminato i metodi senza plug-in. C'è anche un'opzione per escludere le voci sui tag, ma ora i tag non sono più molto rilevanti per il 99% delle risorse. Se hai bisogno di tali informazioni, scrivilo nei commenti. Aggiungo subito tutto.

Plugin

I plugin rappresentano una soluzione più flessibile in questo caso, poiché quando si escludono voci specifiche non è necessario modificare ogni volta il file modello. Vale la pena mettere una casella di controllo nell'editor dei post desiderati al momento della pubblicazione o dopo.

Se vale la pena escludere una categoria speciale creata per articoli che non necessitano di visualizzazione, allora è meglio utilizzare uno dei codici sopra forniti.

Escludi semplicemente il plug-in

Puoi scaricare il plug-in tramite la console WordPress utilizzando la ricerca o da sito ufficiale WordPress.

Dopo l'attivazione funzionerà già e non è necessario configurarlo. Tuttavia, consiglio comunque di apportare alcune modifiche per rendere più piacevole il lavoro con le sue funzioni.

Dopo l'installazione e l'attivazione, andiamo immediatamente alle sue impostazioni.

Inizialmente, nelle impostazioni del plugin, tutto è impostato in modo tale che quando la casella di controllo è attivata (la vedremo di seguito), le pagine richieste (post, categorie, pagine) verranno contrassegnate come "consentite per la visualizzazione". Pertanto, per ogni tipo di pagina dovrai selezionare tutte le caselle di controllo in modo che tutto venga visualizzato.

Sarebbe più logico impostare questa opzione quando, attivando una casella di controllo (ad esempio, per la pagina principale), contrassegnerà un articolo o qualcos'altro come vietata la visualizzazione.

Nelle impostazioni ci sono 3 schede progettate per configurare le impostazioni per diversi tipi di pagine:

  • Tassonomie (tassonomie) - impostazioni per il funzionamento del plugin nelle sezioni del pannello di amministrazione di WordPress: categorie e tag;
  • Tipi di post - per i tipi di post: articoli e pagine;
  • Utenti: impostazioni per gli utenti.

Adesso darò uno screenshot delle impostazioni della prima scheda (tassonomia) e spiegherò i parametri che dovrebbero essere impostati.

  • Nel primo blocco di impostazioni "Attivo" è necessario impostare la casella di controllo "Attivo" in modo che il plugin aggiunga le caselle di controllo necessarie per disabilitare la visualizzazione nelle categorie o in qualsiasi altro tipo di pagina;
  • Nel secondo blocco impostiamo tutti i parametri opposti all'opzione “Escludi”. Ciò significa che se la casella di controllo è abilitata nell'editor di ciascun tipo di pagina, verrà nascosta dalla visualizzazione e i nuovi articoli saranno aperti per la visualizzazione per impostazione predefinita. Se imposti il ​​parametro "Includi solo", selezionando la casella di controllo, le voci saranno aperte per la visualizzazione e i nuovi articoli saranno nascosti per impostazione predefinita. Se è selezionata la seconda opzione "Includi solo", dopo aver installato il plug-in tutte le voci verranno nascoste e dovrai impostare l'opzione "Escludi";
  • Nel blocco "Mostra/Nascondi", imposta il parametro "Mostra" in modo che in ogni tipo di pagina vengano visualizzate le caselle di controllo necessarie per la possibilità di disabilitare o abilitare la visualizzazione.

Gli stessi parametri dovrebbero essere inseriti nelle restanti 2 schede delle impostazioni del plugin Simply Exclude.

Ad esempio, ecco uno screenshot della scheda "Tipi di post".

Naturalmente è possibile disattivare il funzionamento di alcune funzioni, ad esempio nella prima scheda è possibile disattivare il plugin per le categorie se non vogliamo escludere tutti i post di un'intera categoria.

Ora riguardo al funzionamento del plugin stesso. Dopo aver impostato i parametri necessari, puoi andare nell'editor per ogni tipo di post e inserire caselle di controllo accanto alle pagine in cui desideri escluderne la visualizzazione.

Ad esempio, per configurare le impostazioni per i post, puoi andare all'editor dell'articolo richiesto o tramite la voce Tutti gli articoli. Sia lì che lì ci saranno le caselle di controllo necessarie. Nell'editor, nella colonna di destra ci sarà un blocco “Simply Exclude” contenente 4 checkbox per nascondere post e pagine:

  • Archivi - categorie e archivi;
  • Feed: feed RSS;
  • Fronte/Home - principale;
  • Ricerche: cerca.

Selezionando la casella di controllo richiesta, puoi nascondere il post da un certo tipo di pagina.

Nel pannello di amministrazione di WordPress "Tutti i post" di fronte a ciascun materiale in una nuova colonna chiamata "Escludi semplicemente mostra" ci saranno anche queste 4 caselle di controllo. Lo stesso vale per le rubriche. Verrà aggiunta una nuova colonna con tutte le caselle di controllo.


Per questo plugin è tutto. Installandolo puoi modificare in modo molto rapido e flessibile i parametri di visualizzazione di post specifici o intere categorie senza interferire con i file modello.

Plug-in Escludi categorie

Il plugin ha lo scopo solo di nascondere un'intera categoria dalla pagina principale e dal feed RSS. Poiché questa opzione non richiede molta flessibilità (ho creato una categoria una volta e vi ho aggiunto degli articoli), consiglio di implementare l'esclusione di un'intera categoria utilizzando il codice (vedi punto 2).

Puoi scaricare il plugin utilizzando il pulsante qui sotto.

Dopo averlo installato, vai nelle impostazioni (Impostazioni - Escludi categoria) e seleziona la categoria richiesta per escluderla dalla pagina principale.

Escludere tutte le voci in una categoria è un'opzione comune. Ma vedo uno svantaggio, dal momento che il sito deve pubblicare molti articoli per attirare traffico di ricerca e saranno tutti su questioni diverse dello stesso argomento.

Ma inserire vari materiali in un'unica categoria non è molto positivo.

Questa opzione viene spesso utilizzata anche quando si vendono attivamente collegamenti su un sito Web. Il proprietario crea una sezione e pubblica tutti gli articoli con collegamenti di vendita al suo interno. E anche questo non è molto positivo, dal momento che ora i webmaster richiedono di inserire un collegamento in una delle sezioni principali del sito in modo che sia almeno leggermente cliccabile e abbia effetto durante la promozione.

Questo è tutto ragazzi, con questa nota concludo questo manuale dettagliato, che dovrebbe esservi utile se siete capitati nel posto giusto per questo articolo. Spero che tutto vada bene per te.

Ti auguro un umore meraviglioso e una giornata meravigliosa. Ci vediamo.

Cordiali saluti, Konstantin Khmelev!

Oggi c'è un articolo su come puoi escludere manualmente, senza utilizzare plugin, le categorie dalla pagina principale di un sito WordPress.

Esistono diversi modi per escludere i post da una determinata categoria nella pagina principale del tuo blog. Uno dei modi più semplici, secondo me, è aggiungere una piccola porzione di codice al file funzioni.php. Questo pezzo di codice sarà una sorta di filtro che ci eviterà di dover modificare altri file del tema. Utilizzando questo metodo, non è necessario perdere tempo a rielaborare il ciclo di output dei record in un file indice.php Attraverso query_posts.

Quindi, diamo un'occhiata a un esempio:

1) Diciamo che dobbiamo eliminare le voci da una categoria il cui numero identificativo è 4, ovvero ID = 4. In altre parole, dobbiamo escludere dalla pagina principale i post della categoria il cui ID è 4.

2) Abbiamo deciso le attività, iniziamo a implementarle: per questo le aggiungeremo al file funzioni.php il seguente pezzo di codice:

Funzione rimuoviFromHome($query) ( if ($query->is_home) ($query->

Salviamo il file modificato funzioni.php e vediamo che non ci sono più voci della categoria ID=4 nella pagina principale.

Dal punto di vista della logica di WordPress, la pagina principale è anche qualsiasi altra pagina che si forma durante la navigazione della pagina. Pertanto, non vedremo i post della categoria esclusa ID=4 a pagina 2, 3 o 4 e così via.

Se questa opzione non ti soddisfa, puoi modificare leggermente il codice sopra in questo:

Funzione rimuoviFromHome($query) ( if ($query->is_home && !(is_paged())) ($query->set("cat","-5");) return $query; ) add_filter("pre_get_posts" ,"removeFromHome");

Salviamo e ora su ogni pagina, tranne la pagina principale, le voci della categoria con ID=4 verranno visualizzate normalmente.

Esclusione delle voci di categoria dai risultati della ricerca

Se devi escludere voci di categoria dalla pagina dei risultati di ricerca, devi solo modificare è casa SU è_cerca.

Per escludere voci da più categorie, è necessario elencare gli ID di queste categorie separati da virgole nei codici sopra. Supponiamo che tu debba escludere le categorie i cui ID sono 3,7,8,9. Quindi il codice avrà le seguenti modifiche:

Funzione rimuoviFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-3, -7, -8, -9");) return $query; ) add_filter(" pre_get_posts","removeFromFeed");

Esclusione delle voci di categoria dal feed RSS

Cosa dovresti fare se hai bisogno di escludere i post di una determinata categoria dal tuo feed RSS? E puoi farlo in modo molto semplice: usa il codice seguente:

Funzione rimuoviFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-4");) return $query; ) add_filter("pre_get_posts","removeFromFeed");

Salviamo le modifiche e vediamo che non ci sono più post nel feed della categoria che non ci serve.

Escluse le voci di categoria dal feed RSS e dalla pagina principale

Se all'improvviso devi assicurarti che i post di una determinata categoria non vengano visualizzati nella pagina principale e nel feed, devi utilizzare il seguente codice:

Funzione rimuoviCat($query) ( if ($query->is_feed || ($query->is_home && !(is_paged()))) ($query->set("cat","-3,-7") ;) return $query; ) add_filter("pre_get_posts","removeCat");

In questo caso gli inserimenti nelle categorie il cui ID è 3 non verranno visualizzati nella pagina principale e nel feed RSS, ma verranno visualizzati all'apertura di altre pagine.

Modifiche al file funzioni.php può essere inserito ovunque, ma senza toccare il codice di un'altra funzione. Il modo più semplice è aggiungere il codice alla fine del file.

È noto che l'impaginazione provoca la duplicazione delle pagine. Ciò, a sua volta, può portare al fatto che un sito di questo tipo potrebbe "abbassarsi" nei risultati di ricerca. In questo caso, l’unica via d’uscita da questa situazione è assicurarsi che i robot di ricerca non “vedano” che sia presente l’impaginazione in qualsiasi punto del sito.

Come bloccare l'impaginazione dall'indicizzazione?

Un metodo per risolvere questo problema è aggiungere una direttiva noindex sulle pagine di impaginazione. Alla fine dovrebbero assomigliare a questo:

noindex è una direttiva speciale utilizzata per designare i collegamenti che non sono desiderabili per l'indicizzazione da parte dei motori di ricerca. Quando un robot di ricerca vi si imbatte, “capirà” immediatamente che non è necessario prendere in considerazione questa pagina. Lo salterà semplicemente, motivo per cui non sarà incluso nell'elenco di quelli che dovrebbero essere aggiunti all'indice.

Di tutti i modi per risolvere il problema, il più corretto e semplice per un utente WordPress è un plugin che nasconderà l'impaginazione dai motori di ricerca in due clic. Per fare ciò, basta andare alla sezione amministrazione Clearfy Pro, quindi sulla scheda SEO abilita l'opzione Noindex per l'impaginazione.

Oltre al plugin Clearfy Pro, esistono altri modi, meno convenienti, per bloccare l'impaginazione da parte di robots. Diamo un'occhiata ai più popolari.

Metodo 1: file Functions.php

Questo metodo prevede l'aggiunta di codice PHP speciale al file del tema attivo.

Se non sai come modificare Functions.php, il plugin ti aiuterà.

Quindi, alla fine devi aggiungere le seguenti righe:

Funzione wpschool_noindex_pagination() ( if(is_paged()) echo " "; ); add_action("wp_head", "wpschool_noindex_pagination");

Per effetto del codice che gira sulle pagine di impaginazione (a partire dalla seconda), nella sezione , sarà presente la riga sopra:

Metodo 2. File robots.txt

Puoi anche aggiungere noindex per le pagine di impaginazione tramite uno speciale file robots.txt, che si trova nella directory principale del tuo sito. È necessario aggiungere la seguente riga al suo interno:

Non consentire: */pagina/

Questo metodo è simile al precedente e dà lo stesso risultato.