Vylúčte niektoré kategórie WordPress zo stránkovania. Ako vylúčiť príspevky a kategórie z domovskej stránky WordPress, informačného kanála RSS, kategórií a archívov bez doplnkov

Na domovskej stránke, ako aj na stránkach kategórií, archívoch a výsledkoch vyhľadávania je zvyčajne potrebná navigácia po stránke (známa aj ako stránkovanie). Výnimkou nie sú ani blogy na WordPresse, ktoré využívajú aj stránkovanie, kedy sú výsledky informačného výstupu rozdelené do viacerých stránok.

Predtým sa na implementáciu tejto funkcie používali doplnky alebo špeciálne funkcie tretích strán, ktoré sa nachádzali v súbore funkcie.php. S vydaním WordPress verzie 4.1 však bola funkcia stránkovania zabudovaná do jadra CMS a interné funkcie WordPressu teraz postačujú na implementáciu navigácie na stránke a nie je potrebné pridávať kód alebo pluginy tretích strán.

Už som písal o podobnom zlepšení zo strany WordPressu ohľadom značky TITLE – https://aboutwordpress.ru/post/wordpress-title/.

Čo je stránkovanie

Stránkovanie je rozdelenie informácií na stránky. Pod týmto pojmom sa rozumie aj postupné číslovanie strán, označené číslami umiestnenými v spodnej, hornej alebo bočnej časti strany.

WP-PageNavi – doplnok na stránkovanie WordPress

Najpopulárnejším doplnkom pre stránkovanie pre WordPress je WP-PageNavi. Úprimne povedané, zvláda úlohu stránkovania tak dobre, že nemá zmysel diskutovať a porovnávať iné doplnky.

Stránkovanie WordPress - doplnok WP-PageNavi

Stránkovanie WordPress bez pluginu

Aby sme mohli stránkovať na webe bez doplnkov, použijeme vstavanú funkciu WordPress the_posts_pagination(). Na miesto, ktoré potrebujeme, musíme vložiť nasledujúci kód (zvyčajne sú to súbory index.php, kategória.php a podobne):

Výsledkom funkcie the_posts_pagination() bude približne nasledujúci HTML kód:

Odstránenie nadpisu H2 zo stránkovania

Hlavička H2 „Post Navigation“ okamžite upúta vašu pozornosť. Ktorý vo väčšine prípadov nemá na stránke miesto. Ak sa ho chcete zbaviť, pridajte do súboru nasledujúci kód funkcie.php:

/* Odstrániť H2 zo stránkovania */ add_filter("šablóna_navigačných_značiek", "moja_šablóna_navigácie", 10, 2); function my_navigation_template($template, $class)( return "

"; }

Nastavenie stránkovacích stránok

The_posts_pagination() štandardne zobrazuje prvú a poslednú stránku, ako aj jednu stránku okolo aktuálnej. Všetky ostatné sú nahradené elipsou. Toto správanie je možné zmeniť pomocou argumentov:

  • show_all - zobraziť všetky stránky
  • end_size - počet strán na začiatku a na konci zoznamu
  • mid_size - počet strán vľavo a vpravo od aktuálnej strany

Napríklad takto:

2, "koncová_veľkosť" => 2,)); ?>

Štýly stránkovania CSS

Čísla strán ( padding: 1% 2%; box-shadow: 0 0 10px #ccc; margin: 0 1% 0 0; pozadie: #fff; border-radius: 3px; )

Odkazy na stránkovacie stránky s týmito štýlmi budú vyzerať takto:

…ako to spraviť? ...vo všeobecnosti nie je ťažké. A ak je úlohou presne zakázať zobrazovanie jednej alebo druhej kategórie, potom tento rozmar vyriešime za pár minút.

Má to však háčik -

...riešením problému so zákazom zobrazenia kategórie vo widgete vzniká pochmúrna súvislosť, a to otázka: ako nakonfigurovať zobrazovanie kategórií v potrebnom a logickom poradí, ale nie chaoticky!?


...mal by si to poriadne premyslieť. ...a jasne definujte svoje potreby. Ale najprv: a na záver vám dám perfektné a dômyselné riešenie na filtrovanie kategórií...

používanie jednoduchosti kódu Pri implementácii takýchto zákazov/povolení potrebného/nepotrebného obsahu blogu sa oplatí mať na pamäti určitú perspektívu vývoja vašej stránky, aby ste sa nestretli s ďalším sprievodným „prekvapením“ byť či nebyť prebudovanie blogu v budúcnosti – buď úpravou súborov alebo výmenou pluginov.

Koniec koncov, vždy existuje alternatíva: či použiť plugin (ich počet „...ako shag...“ nie je vždy dobrý), alebo napísať kód do súboru functions - f unctions.php (nie je to zlé, ale nerieši problém jednoznačne)!?

Rozhodnite sa!..

Ukázal som možnú technickú nedostatočnosť nepremysleného začiatku blogovania a teraz ponúkam možné spôsoby logického riešenia:

Ak potrebujete skryť konkrétnu kategóriu miniaplikácie WordPress, ktorá je štandardne prítomná v bruchu každej novej stránky, je to jednoduché.

Otvoríme súbor, o ktorom sme hovorili functions.php a niekde v jeho konečnom dekódovaní) pred tag?> napíšeme tento prerušovaný kódovaný filter.

// RUBRIKOVÝ KÓD VYLÚČENIA spúšťacej funkcie ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //KÓD VYLUČENIA PRE RUBRIKA koniec

Číslo 39 označuje id kategórie, ktorá je na stránke filtrovaná ako zbytočný bazár.

Môžete zadať niekoľko oddelených čiarkami.

...To je všetko, jedna z otázok je uzavretá.

ako skryť zobrazenie podkategórie v miniaplikácii

Riešenie je vo verzii kódu hneď nižšie, ktorá zakazuje/umožňuje zobrazovanie názvov určitých podkategórií (príspevkov na detskom blogu).

// výstupný kód pre jediné podkategórie kategórie so zadaným ID=7 spúšťacia funkcia ext_widget_categories($args)( $args["child_of"] = 7; return $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //výstupný kód pre jediné podkategórie kategórie so špecifikovaným koncom ID=7

Argumentáciu týchto kódexov je možné kombinovať.

Nech sa páči!! Dosiahli sme úplnú kontrolu nad ovládaním ZOBRAZENIA v miniaplikácii „Kategórie“ všetkých vašich kategórií.

...ale - však my hovoríme!! Často sa stáva, že o nejaký čas neskôr, po otvorení webovej stránky, sa trpko objaví ešte jedna chyba: nadpisy v miniaplikácii bočného panela nie sú umiestnené v logickom poradí (náhodne) - viete, náročnosť rozvoja profesionality.

V tomto prípade si tiež musíte vybrať z niekoľkých pekných možností:

Poďme do úložiska WordPress pluginov - cesta: console/plugins/add plugin/...install/activate... taký zázrak Poradie kategórií a poradie podmienok taxonómie.

Technický preklad citátu do pluginu:
Usporiadať kategórie a všetky výrazy taxonómie (prispôsobené hierarchicky) a podradené výrazy pomocou funkcií Javascriptu, ktoré možno presúvať myšou.
Doplnok nemá žiadne mätúce nastavenia: všetko, čo musíte urobiť, je umiestniť kurzor myši na „záznamy“ vľavo v konzole a pozrieť sa na položku Taxonomy Order...

Všetko je paradoxne jednoduché: ťahaním tabúľ nakonfigurujte optimálnu postupnosť zobrazovania názvov existujúcich nadpisov.

Nevýhody metódy „plugin“ zahŕňajú nasledovné: nemôžete zakázať zobrazovanie určitých kategórií...

Preto budete musieť použiť kód navrhnutý vyššie alebo doplnok zobrazený nižšie...

Zakazujeme zobrazovanie niektorých kategórií pomocou doplnku NS Category Widget

...saďme opäť do WordPress depozitu a stiahnite si zásuvku NS Category Widget - tento “skok” nám poskytne ďalšie, ale elegantnejšie nastavenie k existujúcemu widgetu “Categories”: t.j. - bežný widget treba vymazať resp. skryté v „neaktívne“ a nakonfigurujte túto rozšírenú možnosť správy obsahu: jeho zobrazenie/blokovanie.

Prejdite do jeho nastavení a nastavte si vlastné pravidlá: podľa ID kategórie, dôležitosti hierarchií a podobných úprav... Je to jednoduché!

Doplnok vám umožňuje používať veľa jednotiek widgetov na požadovaných úrovniach stránok, pre ktoré sú nastavenia individuálne, na rozdiel od štandardnej „kategórie“, z ktorej môžete zobraziť aspoň tucet, ale nastavenia „top“ kódu bude platiť pre každého: toto je mínus možnosti pripojenia štandardného widgetu „kategórie“ a kódu opísaného na samom začiatku článku... A ak plánujete použiť niekoľko možností pre widgety kategórií, mali by ste stále stiahnite si doplnok NS Category Widget.

ALE! v pokročilom nie je jednoduchšie a jemnejšie poradie triedenia kategórií - to je jeho nevýhoda. Taký zmätok!

Rozhodnutie je na tebe...

...ak ste v článku pre seba videli niečo užitočné, skvelé!

Ahojte chalani!

Dnes tu bude technický článok, ktorý vám ukáže, ako vylúčiť príspevky z hlavnej stránky webu WordPress.

Dozviete sa tiež, ako vylúčiť celé kategórie, nielen konkrétne položky. Ukážem vám veľa možností, s pluginmi aj bez nich. Vo všeobecnosti je všetko ako vždy.

V akých prípadoch by sa mal použiť?

Potreba vylúčiť niektoré príspevky, teda ich oznamy, z hlavnej stránky väčšinou existuje na osobných blogoch, kedy sa okrem veľkých a kvalitných článkov pre bežné publikum oplatí naplniť zdroj aj jednoduchými článkami optimalizovanými pre SEO .

Takéto články pravdepodobne nebudú užitočné pre členov blogu, pretože to všetko už vedia. Aby ste nezasypali hlavnú stránku zbytočnými oznámeniami, bolo by lepšie ich nezobrazovať. Zároveň by sa mali pridať na stránku, aby prilákali nové publikum k zdroju z vyhľadávačov. Je potrebné ich tiež zobraziť, ale malo by sa to urobiť na stránkach sekcií a archívov, aby ich nováčikovia našli pomocou navigácie v sekciách lokality.

Tento článok napríklad nenájdete na hlavnej stránke môjho blogu na žiadnej z ich stránkovacích stránok (navigácia po stránkach). Zároveň je oznámenie o článku viditeľné v sekcii „Užitočné“ a na stránke mapy webu „Všetky články“.

Bez pluginu

Metóda bez doplnku je vždy vhodnejšia, ale v tomto prípade to nebude priorita, pretože na vylúčenie niektorého článku budete musieť zakaždým vykonať zmeny v súbore šablóny, ktorý ste nainštalovali. Napriek tomu však ukážem niekoľko rôznych možností implementácie takéhoto riešenia, pretože je celkom možné, že vám to bude vyhovovať.

Nižšie uvediem rôzne časti kódu, ktoré by mali byť umiestnené v súbore šablóny functions.php.

Vylúčenie konkrétnych záznamov podľa ID

V tejto možnosti nie je potrebné skryť celé kategórie pred viditeľnosťou na hlavnej stránke, ako to mnohí robia pomocou rôznych pluginov. Stačí do kódu pridať ID požadovaných záznamov.

function exclude_post($query) ( if ($query->is_home) ($query->

if ($query -> is_home )

( $query -> // ID príspevku

návrat $dotaz ; )

V riadku 3 sú čísla 1 a 2 ID záznamy, ktoré sa nezobrazia na domovskej stránke. Musíte to napísať oddelené čiarkami.

ID príspevku, stránky a kategórie sa dozviete v adresnom riadku prehliadača pri prezeraní cez editor.

Ďalšia možnosť vám umožní vylúčiť položky z informačného kanála RSS.

Vylúčenie z RSS kanála

Tento kód vám umožní vylúčiť oznámenia z informačného kanála noviniek a neposielať ich e-mailom, ak používate službu predplatného a oznamovania pomocou služby Feedburner.

function exclude_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");

funkcia vylučovať_príspevok ($query) (

if ($query -> is_feed )

( $query -> set ( "post__not_in" , pole ( 1 , 2 ) ) ; ) // ID príspevku

návrat $dotaz ; )

add_filter ("pre_get_posts" , "exclude_post" );

Pridávanie záznamov v tomto prípade a vo všetkých ostatných prebieha rovnakým spôsobom.

Vylúčenie z kategórií a archívov

Ak chcete vylúčiť príspevky zo stránok kategórií, mali by ste použiť nasledujúci kód.

function exclude_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");

funkcia vylučovať_príspevok ($query) (

if ($query -> is_category )

( $query -> set ( "post__not_in" , pole ( 1 , 2 ) ) ; ) // ID príspevku

návrat $dotaz ; )

add_filter ("pre_get_posts" , "exclude_post" );

Tento kód je možné upraviť tak, aby sa uplatnila výnimka z archívov. V 2. budove je potrebné nahradiť funkciu is_category is_archive.

Vylúčenie zo stránky vyhľadávania

Táto možnosť môže byť potrebná aj vtedy, ak by sa návštevníkom pri vyhľadávaní na stránke nemali zobrazovať niektoré záznamy. Môže ísť napríklad o rôzne spravodajské články, ktoré neobsahujú obsah na tému stránky.

function include_post($query) ( if ($query->is_search) ($query->set("post__not_in", array(1, 2));) // post id return $query; ) add_filter(" pre_get_posts", "vylúčiť_príspevok");

funkcia vylučovať_príspevok ($query) (

if ($query -> is_search )

( $query -> set ( "post__not_in" , pole ( 1 , 2 ) ) ; ) // ID príspevku

návrat $dotaz ; )

add_filter ("pre_get_posts" , "exclude_post" );

Kombinácia niekoľkých možností

Môžete kombinovať všetky vyššie uvedené možnosti a vylúčiť záznamy zo všetkých typov stránok naraz alebo selektívne na potrebných.

Ak sa dobre pozriete na všetky kódy, potom v 2. riadku vidíte stav, v ktorom je parameter typov stránok nastavený tak, aby v nich zakázal zobrazovanie oznamov príspevkov:

  • is_search
  • is_category
  • is_feed
  • je_domov

Môžete kombinovať všetky možnosti a vylúčiť príspevky odkiaľkoľvek alebo na niektorých stránkach. Napríklad pre vylúčenia z kategórií a main by ste mali umiestniť nasledujúci kód do súboru functions.php.

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

funkcia vylučovať_príspevok ($query) (

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

( $query -> set ( "post__not_in" , pole ( 1 , 2 ) ) ; ) // ID príspevku

návrat $dotaz ; )

add_filter ("pre_get_posts" , "exclude_post" );

2. riadok s podmienkou (if) obsahuje parametre pre kategórie (is_category) alebo home (is_home).

Všimnite si, že každý ďalší parameter je zapísaný do predchádzajúceho cez 2 zvislé čiary a je umiestnený vo vlastných zátvorkách. To znamená, že ak sa pozriete na predchádzajúci kód, uvidíte, že druhá podmienka pre hlavnú stránku je uzavretá vo vlastných zátvorkách a je vo všeobecných zátvorkách, ktoré zakrývajú prvú podmienku pre kategórie.

Ak sa oplatí pridať nejakú tretiu podmienku, napríklad pre archívne stránky, potom sa oplatí pridať ju do zátvoriek s podmienkou pre hlavnú (is_home) a zapísať ju cez 2 zvislé čiary. V praxi to vyzerá takto.

function exclude_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive)))) ($query->set("post__not_in", array(1, 2) );) // ID príspevku return $query; ) add_filter("pre_get_posts","exclude_post");

funkcia vylučovať_príspevok ($query) (

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

( $query -> set ( "post__not_in" , pole ( 1 , 2 ) ) ; ) // ID príspevku

návrat $dotaz ; )

add_filter ("pre_get_posts" , "exclude_post" );

Rovnakým princípom pridajte ďalšie typy stránok, ktoré chcete vylúčiť.

Ďalšou možnosťou vylúčenia záznamov je vylúčenie celých nadpisov (kategórií).

Vrátane celých kategórií

To je veľmi výhodné pre lenivých ľudí, keď si jednoducho vytvoríte nejakú kategóriu a pridáte tam všetky príspevky, ktoré nevyžadujú zobrazenie na určitých typoch stránok.

Štruktúra kódu je takmer rovnaká. Zmení iba parameter, ktorý určuje vylúčenie príspevku alebo kategórie. V predchádzajúcich diskutovaných prípadoch bol posledný riadok nastavený na include_post. V novom kóde by mal byť nahradený reťazcom exclude_cat.

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

funkcia vylučovať_kat ($query) (

if ($query -> is_home )

( $query -> set ("cat" , "-1, -2, -3" ) ; ) // id kategórie

návrat $dotaz ; )

add_filter ("pre_get_posts" , "exclude_cat" );

Ako vidíte, posledný riadok prešiel zmenami a 3. riadok, kde sa zmenil parameter, ktorý číta ID kategórie. ID sa v tomto prípade píše cez pomlčku, ale aj cez čiarku.

Princíp vytvárania podmienok pre typy stránok je podobný ako pri možnostiach diskutovaných vyššie, kde som ukázal príklad vylúčenia konkrétnych príspevkov. Oplatí sa zmeniť 2. riadok, pridať potrebné parametre pre kategórie, vyhľadávanie, archívy či RSS kanály.

Pozreli sme sa teda na metódy bez doplnku. Existuje tiež možnosť vylúčiť položky o značkách, ale teraz už nie sú značky veľmi relevantné pre 99 % zdrojov. Ak potrebujete takéto informácie, napíšte o nich do komentárov. Hneď všetko pridám.

Pluginy

Zásuvné moduly sú v tejto veci flexibilnejším riešením, pretože pri vylúčení konkrétnych položiek nie je potrebné zakaždým upravovať súbor šablóny. Pri publikovaní alebo neskôr sa oplatí začiarknuť políčko v editore požadovaných príspevkov.

Ak sa oplatí vylúčiť špeciálnu kategóriu vytvorenú pre články, ktoré nevyžadujú zobrazenie, potom je lepšie použiť jeden z vyššie uvedených kódov.

Plugin jednoducho vylúčiť

Doplnok si môžete stiahnuť buď cez konzolu WordPress pomocou vyhľadávania, alebo z oficiálna stránka WordPress.

Po aktivácii už bude fungovať a nemusíte ho konfigurovať. Ale aj tak odporúčam urobiť nejaké zmeny, aby bola práca s jeho funkciami príjemnejšia.

Po inštalácii a aktivácii okamžite prejdeme do jeho nastavení.

Spočiatku je v nastaveniach doplnku všetko nastavené tak, že keď je začiarkavacie políčko aktivované (pozrieme sa na to nižšie), požadované stránky (príspevky, kategórie, stránky) budú označené ako „povolené na zobrazenie“. Pre každý typ stránky teda budete musieť zaškrtnúť všetky políčka, aby sa zobrazilo všetko.

Logickejšie by bolo nastaviť túto možnosť, keď aktiváciou checkboxu (napríklad pre hlavnú stránku) označí článok alebo niečo iné ako zakázané na zobrazenie.

V nastaveniach sú 3 karty, ktoré sú určené na konfiguráciu nastavení pre rôzne typy stránok:

  • Taxonómie (taxonómie) - nastavenia fungovania pluginu v sekciách administračného panela WordPress: kategórie a značky;
  • Typy príspevkov – pre typy príspevkov: články a stránky;
  • Používatelia – nastavenia pre používateľov.

Teraz dám screenshot nastavení prvej záložky (taxonómia) a vysvetlím parametre, ktoré by sa mali nastaviť.

  • V prvom bloku nastavení „Aktívne“ musíte začiarknuť políčko „Aktívne“, aby doplnok pridal potrebné začiarkavacie políčka na zakázanie zobrazovania v kategóriách alebo iných typoch stránok;
  • V druhom bloku nastavíme všetky parametre oproti voľbe „Vylúčiť“. Znamená to, že ak je v editore každého typu stránky zaškrtnuté políčko, stránka sa skryje a nové články sa budú štandardne otvárať na zobrazenie. Ak nastavíte parameter „Iba zahrnúť“, začiarknutím políčka sa položky otvoria na zobrazenie a nové články budú predvolene skryté. Ak je vybratá druhá možnosť „Iba zahrnúť“, potom po inštalácii doplnku budú všetky položky skryté a budete musieť nastaviť možnosť „Vylúčiť“;
  • V bloku "Show/Hide" nastavte parameter "Show" tak, aby sa v každom type stránky zobrazovali potrebné zaškrtávacie políčka pre možnosť vypnutia alebo zapnutia zobrazenia.

Rovnaké parametre je potrebné zadať na zvyšných 2 kartách nastavení pluginu Simply Exclude.

Tu je napríklad snímka obrazovky karty Typy príspevkov.

Fungovanie niektorých funkcií si samozrejme môžete zakázať, napríklad na prvej karte môžete deaktivovať plugin pre kategórie, ak sa nechystáme vylúčiť všetky príspevky celej kategórie.

Teraz o práci samotného pluginu. Keď nastavíte potrebné parametre, môžete prejsť do editora pre každý typ príspevku a začiarknuť políčka vedľa tých stránok, kde chcete vylúčiť ich zobrazenie.

Ak chcete napríklad nastaviť nastavenia pre príspevky, môžete prejsť do editora požadovaného článku alebo cez položku všetky články. Tam aj tam budú potrebné začiarkavacie políčka. V editore bude v pravom stĺpci blok „Jednoducho vylúčiť“ obsahujúci 4 začiarkavacie políčka na skrytie príspevkov a stránok:

  • Archívy - kategórie a archívy;
  • Feeds - RSS kanály;
  • Front/Home - main;
  • Hľadanie - hľadanie.

Zaškrtnutím požadovaného políčka môžete skryť príspevok z určitého typu stránky.

V administračnom paneli WordPress „Všetky príspevky“ oproti každému materiálu v novom stĺpci s názvom „Jednoducho vylúčiť show“ budú aj tieto 4 začiarkavacie políčka. To isté platí pre rubriky. Pridá sa nový stĺpec so všetkými začiarkavacími políčkami.


To je pre tento plugin všetko. Jeho inštaláciou môžete veľmi rýchlo a flexibilne meniť parametre zobrazovania konkrétnych príspevkov alebo celých kategórií bez zásahu do súborov šablón.

Doplnok Vylúčiť kategórie

Plugin je určený len na skrytie celej kategórie z hlavnej stránky a RSS kanála. Keďže táto možnosť nevyžaduje veľkú flexibilitu (raz som vytvoril kategóriu a pridal som tam články), odporúčam implementovať vylúčenie celej kategórie pomocou kódu (pozri bod 2).

Plugin si môžete stiahnuť pomocou tlačidla nižšie.

Po jej nainštalovaní prejdite do nastavení (Nastavenia - Vylúčiť kategóriu) a vyberte požadovanú kategóriu, čím ju vylúčite z hlavnej stránky.

Bežnou možnosťou je vylúčenie všetkých položiek v kategórii. Ale vidím v tom nevýhodu, keďže stránka musí publikovať veľa článkov, aby prilákala návštevnosť z vyhľadávania a všetky sa budú týkať rôznych problémov tej istej témy.

Ale strčiť rôzne materiály do jednej kategórie nie je veľmi dobré.

Táto možnosť sa často využíva aj pri aktívnom predaji odkazov na webovej stránke. Majiteľ vytvorí sekciu a zverejní v nej všetky články s predajnými odkazmi. A to tiež nie je veľmi dobré, keďže teraz webmasteri požadujú umiestniť odkaz do jednej z hlavných sekcií webu, aby bol aspoň trochu klikateľný a mal efekt pri propagácii.

To je všetko, chlapci, touto poznámkou končím túto podrobnú príručku, ktorá by vám mala byť užitočná, ak ste pre tento článok prišli na správne miesto. Dúfam, že vám všetko dobre dopadne.

Prajem vám skvelú náladu a krásny deň. Maj sa.

S pozdravom, Konstantin Khmelev!

Dnes je článok o tom, ako môžete manuálne, bez použitia doplnkov, vylúčiť kategórie z hlavnej stránky webu WordPress.

Existuje niekoľko spôsobov, ako vylúčiť príspevky z určitej kategórie na hlavnej stránke vášho blogu. Jedným z najjednoduchších spôsobov je podľa môjho názoru pridať malý kúsok kódu do súboru funkcie.php. Tento kúsok kódu bude akýmsi filtrom, ktorý nás ušetrí od nutnosti meniť iné súbory tém. Pomocou tejto metódy nemusíte strácať čas prepracovaním cyklu výstupov záznamov v súbore index.php cez query_posts.

Pozrime sa teda na príklad:

1) Povedzme, že potrebujeme vymazať položky z kategórie, ktorej identifikačné číslo je 4, teda ID = 4. Inými slovami, musíme vylúčiť príspevky z kategórie, ktorých ID je 4 z hlavnej stránky.

2) Rozhodli sme sa pre úlohy, začnime ich implementovať - ​​preto ich pridáme do súboru funkcie.php nasledujúci kus kódu:

Funkcia removeFromHome($query) ( if ($query->is_home) ($query->

Upravený súbor uložíme funkcie.php a vidíme, že na hlavnej stránke už nie sú žiadne položky z kategórie ID=4.

Hlavnou stránkou je z pohľadu logiky WordPress aj akákoľvek iná stránka, ktorá je tvorená navigáciou po stránke. Neuvidíme teda príspevky z vylúčenej kategórie ID=4 na strane 2, 3 alebo 4 atď.

Ak vám táto možnosť nevyhovuje, vyššie uvedený kód môžete mierne zmeniť na tento:

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

Uložíme a teraz sa na každej stránke okrem hlavnej stránky budú normálne zobrazovať záznamy z kategórie s ID=4.

Vylúčenie položiek kategórií z výsledkov vyhľadávania

Ak potrebujete vylúčiť položky kategórie zo stránky s výsledkami vyhľadávania, stačí to zmeniť je_domov na is_search.

Ak chcete vylúčiť položky z niekoľkých kategórií, musíte uviesť ID týchto kategórií oddelené čiarkami vo vyššie uvedených kódoch. Povedzme, že potrebujete vylúčiť kategórie, ktorých ID sú 3,7,8,9. Potom bude mať kód nasledujúce zmeny:

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

Vylúčenie položiek kategórií z informačného kanála RSS

Čo by ste mali urobiť, ak potrebujete vylúčiť príspevky z určitej kategórie z vášho RSS kanála? A môžete to urobiť veľmi jednoducho - použite kód nižšie:

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

Uložíme zmeny a vidíme, že v informačnom kanáli už nie sú žiadne príspevky z kategórie, ktorú nepotrebujeme.

Vylúčenie položiek kategórií z informačného kanála RSS a hlavnej stránky

Ak sa zrazu potrebujete uistiť, že príspevky z určitej kategórie sa nezobrazujú na hlavnej stránke a v informačnom kanáli, musíte použiť nasledujúci kód:

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

V tomto prípade sa položky v kategóriách, ktorých ID je 3, nezobrazia na hlavnej stránke a v kanáli RSS, ale zobrazia sa pri otvorení iných stránok.

Zmeny v súbore funkcie.php možno zadať kdekoľvek, ale bez dotyku kódu inej funkcie. Najjednoduchším spôsobom je pridať kód na koniec súboru.

Je dobre známe, že stránkovanie spôsobuje duplikáciu stránok. To zase môže viesť k tomu, že takáto stránka môže „klesnúť“ vo výsledkoch vyhľadávania. V tomto prípade je jediným východiskom z tejto situácie uistiť sa, že vyhľadávacie roboty „nevidia“, že niekde na stránke existuje stránkovanie.

Ako zablokovať indexovanie stránkovania?

Jednou z metód na vyriešenie tohto problému je pridanie direktívy noindex na stránkovacie stránky. Nakoniec by mali vyzerať takto:

noindex je špeciálna smernica používaná na označenie odkazov, ktoré nie sú žiaduce na indexovanie vyhľadávacími nástrojmi. Keď naňho vyhľadávací robot narazí, okamžite „pochopí“, že túto stránku netreba brať do úvahy. Jednoducho ho preskočí, a preto nebude zaradený do zoznamu tých, ktoré by sa mali pridať do indexu.

Zo všetkých spôsobov riešenia problému je pre používateľa WordPressu najsprávnejší a najjednoduchší plugin, ktorý na dva kliknutia skryje stránkovanie pred vyhľadávačmi. Ak to chcete urobiť, prejdite do sekcie správcu Clearfy Pro, potom na karte SEO možnosť povoliť Noindex pre stránkovanie.

Okrem pluginu Clearfy Pro, existujú aj iné, menej pohodlné spôsoby blokovania stránkovania pred robotmi. Pozrime sa na najobľúbenejšie z nich.

Metóda 1: súbor functions.php

Táto metóda zahŕňa pridanie špeciálneho PHP kódu do vášho aktívneho súboru témy.

Ak neviete, ako upraviť functions.php, pomôže vám plugin.

Takže na úplný koniec musíte pridať nasledujúce riadky:

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

V dôsledku kódu spusteného na stránkovacích stránkach (od druhej), v sekcii , bude prítomný riadok vyššie:

Metóda 2. Súbor Robots.txt

Noindex pre stránky stránkovania môžete pridať aj prostredníctvom špeciálneho súboru robots.txt, ktorý sa nachádza v koreňovom adresári vašej lokality. Musíte do nej pridať nasledujúci riadok:

Disallow: */page/

Táto metóda je podobná predchádzajúcej a dáva rovnaký výsledok.