Izključite nekatere kategorije WordPress iz paginacije. Kako izključiti objave in kategorije z domače strani WordPress, vira rss, kategorij in arhivov brez vtičnikov

Na domači strani, pa tudi na straneh s kategorijami, arhivih in rezultatih iskanja je običajno potrebna navigacija po straneh (znana tudi kot paginacija). Blogi na WordPressu niso izjema, uporabljajo tudi paginacijo, ko so rezultati izpisa informacij razdeljeni na več strani.

Prej so bili za izvajanje te funkcije uporabljeni vtičniki tretjih oseb ali posebne funkcije, ki so bile v datoteki functions.php. Vendar pa je bila z izdajo WordPress različice 4.1 funkcija označevanja strani vgrajena v jedro CMS in zdaj so notranje funkcije WordPressa dovolj za implementacijo navigacije po straneh in ni treba dodajati kode ali vtičnikov tretjih oseb.

Prej sem pisal o podobni izboljšavi s strani WordPressa glede oznake TITLE - https://aboutwordpress.ru/post/wordpress-title/.

Kaj je paginacija

Paginacija je delitev informacij na strani. Ta koncept pomeni tudi zaporedno številčenje strani, označeno s številkami na dnu, vrhu ali ob strani.

WP-PageNavi - WordPress vtičnik za paginacijo

Najbolj priljubljen vtičnik za paginacijo za WordPress je WP-PageNavi. Iskreno povedano, se tako dobro spopade z nalogo paginacije, da nima smisla razpravljati in primerjati drugih vtičnikov.

WordPress paginacija - vtičnik WP-PageNavi

WordPress paginacija brez vtičnika

Da bi naredili paginacijo na spletnem mestu brez vtičnikov, bomo uporabili vgrajeno WordPress funkcijo the_posts_pagination(). Na mesto, ki ga potrebujemo, moramo vstaviti naslednjo kodo (običajno so to datoteke index.php, category.php in podobni):

Rezultat funkcije the_posts_pagination() bo približno naslednja koda HTML:

Odstranjevanje naslova H2 iz paginacije

Takoj pade v oči naslov H2 »Post Navigation«. Ki v večini primerov nima mesta na strani. Če se ga želite znebiti, v datoteko dodajte naslednjo kodo functions.php:

/* Odstrani H2 iz paginacije */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); funkcija my_navigation_template($template, $class)( return "

"; }

Nastavitev paginacijskih strani

Privzeto the_posts_pagination() prikaže prvo in zadnjo stran ter eno stran okoli trenutne. Vsi ostali so nadomeščeni s elipso. To vedenje je mogoče spremeniti z uporabo argumentov:

  • show_all - prikaži vse strani
  • end_size - število strani na začetku in koncu seznama
  • mid_size - število strani levo in desno od trenutne strani

Na primer takole:

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

Slogi strani CSS

Številke strani (padding: 1% 2%; box-shadow: 0 0 10px #ccc; rob: 0 1% 0 0; ozadje: #fff; border-radius: 3px; )

Povezave do strani s paginacijo s temi slogi bodo videti takole:

…kako narediti? ...na splošno ni težko. In če je naloga natančno prepovedati prikaz ene ali druge kategorije, potem bomo to muho rešili v nekaj minutah.

Vendar pa obstaja ulov -

...rešuje problem prepovedi prikaza kategorije v widgetu, se s tem pojavi mračna povezava, in sicer vprašanje: kako konfigurirati prikaz kategorij v potrebnem in logičnem vrstnem redu, vendar ne kaotično!?


...moral bi dobro razmisliti o tem. ...in jasno opredelite svoje potrebe. Ampak najprej: in na koncu vam bom dal popolno in domiselno rešitev za filtriranje kategorij ...

uporaba enostavnosti kode Pri izvajanju takšnih prepovedi/dovoljenj potrebne/nepotrebne vsebine spletnega dnevnika je vredno imeti v mislih nekaj perspektive za razvoj vašega spletnega mesta, da ne bi naleteli na še eno spremljajoče "presenečenje" biti ali ne biti obnova bloga v prihodnosti – bodisi z urejanjem datotek ali zamenjavo vtičnikov.

Navsezadnje vedno obstaja alternativa: ali uporabiti vtičnik (njihovo število "...kot shag ..." ni vedno dobro) ali napisati kodo v funkcijsko datoteko - f unctions.php (ni slabo, vendar problema ne reši nedvoumno)!?

Odloči se!..

Pokazal sem morebitno tehnično nezadostnost nepremišljenega začetka bloganja, zdaj pa ponujam možne načine logične rešitve:

Če morate le skriti določeno kategorijo pripomočka WordPress, ki je privzeto prisoten v trebuhu katerega koli novega spletnega mesta, potem je preprosto.

Odpremo datoteko, o kateri smo govorili functions.php in nekje v njenem končnem dekodiranju) pred oznako?> napišemo ta drsno kodiran filter.

// KODA ZA IZKLJUČITEV RUBRIKE start function ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //IZKLJUČITEV KODE ZA RUBRIKE konec

Številka 39 označuje ID kategorije, ki je filtrirana kot neuporaben bazar na spletnem mestu.

Določite jih lahko več, ločenih z vejicami.

...To je to, eno od vprašanj je zaključeno.

kako skriti prikaz podkategorije v pripomočku

Rešitev je v različici kode čisto spodaj, ki prepoveduje/dovoljuje prikaz imen določenih podkategorij (podrejenih blog objav).

// izhodna koda za edine podkategorije kategorije z navedenim ID=7 start function ext_widget_categories($args)( $args["child_of"] = 7; return $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //izhodna koda za edine podkategorije kategorije z navedenim ID=7 end

Argumentacijo teh kod lahko kombiniramo.

Izvoli!! Dosegli smo popoln nadzor nad nadzorom PRIKAZA v pripomočku »Kategorije« vseh vaših kategorij.

...vendar - vendar, pravimo!! Pogosto se zgodi, da nekaj časa kasneje, ko odprete stran spletnega mesta, grenko odkrijete še eno pomanjkljivost: naslovi v pripomočku stranske vrstice niso nameščeni v logičnem vrstnem redu (naključno) - izbirčnost razvijanja profesionalizma, veste.

V tem primeru morate izbrati tudi nekaj lepih možnosti:

Gremo v repozitorij vtičnikov WordPress - pot: console/plugins/add plugin/...install/activate... tak čudež Vrstni red kategorij in vrstni red taksonomskih izrazov.

Tehnični prevod citata v vtičnik:
Razvrstite kategorije in vse taksonomske izraze (hierarhično po meri) ter podrejene izraze z uporabo zmožnosti Javascripta, ki jih je mogoče razvrstiti po metodi povleci in spusti.
Vtičnik nima nobenih nejasnih nastavitev: vse kar morate storiti je, da se premaknete nad "zapise" na levi v konzoli in pogledate postavko Taksonomski vrstni red ...

Vse je paradoksalno preprosto: z vlečenjem plošč konfigurirajte optimalno zaporedje za prikaz imen obstoječih naslovov.

Slabosti metode “plugin” so naslednje: ne morete prepovedati prikaza določenih kategorij ...

Zato boste morali uporabiti zgoraj predlagano kodo ali vtičnik, prikazan spodaj ...

Prepovedujemo prikaz nekaterih kategorij z uporabo vtičnika NS Category Widget

...spet stopimo v depozitorij WordPress in naložimo vtičnik NS Category Widget - ta “skok” nam bo poleg obstoječega gradnika “Categories” dal še eno, a bolj elegantno nastavitev: tj. - običajni gradnik je treba izbrisati oz. skrito v »neaktivno« in konfigurirajte to napredno možnost za upravljanje vsebine: prikaz/blokiranje le-te.

Pojdite v njegove nastavitve in nastavite svoja pravila: po ID-ju kategorije, pomembnosti hierarhij in podobnih prilagoditvah ... Preprosto je!

Vtičnik vam omogoča uporabo številnih enot gradnikov na zahtevanih ravneh strani, za katere so nastavitve individualne, za razliko od standardne »kategorije«, od katere lahko prikažete vsaj ducat, vendar nastavitve »zgornje« kode bo veljal za vse: to je minus možnosti povezovanja standardnega gradnika »kategorije« in kode, opisane na samem začetku članka ... In če nameravate uporabiti več možnosti za gradnike kategorij, potem bi morali še vedno prenesite vtičnik NS Category Widget.

AMPAK! v naprednem ni enostavnejšega in subtilnejšega reda za razvrščanje kategorij - to je njegova pomanjkljivost. Takšna zmeda!

Odločitev je vaša...

...če ste v članku videli kaj koristnega zase, super!

Zdravo družba!

Danes bo na voljo tehnični članek, ki vam bo pokazal, kako izključiti objave z glavne strani spletnega mesta WordPress.

Naučili se boste tudi, kako izključiti celotne kategorije, ne samo določenih vnosov. Pokazal vam bom veliko možnosti, tako z vtičniki kot brez njih. Na splošno je vse kot vedno.

V katerih primerih naj se uporablja?

Potreba po izključitvi nekaterih objav, torej njihovih objav, z glavne strani večinoma obstaja na osebnih blogih, ko je poleg velikih, kakovostnih člankov za običajno občinstvo vredno vir napolniti tudi s preprostimi SEO optimiziranimi članki .

Takšni članki verjetno ne bodo koristni za člane bloga, saj vse to že vedo. Da glavne strani ne bi smetili z nepotrebnimi objavami, bi bilo bolje, da jih ne bi prikazovali. Hkrati jih je treba dodati na spletno mesto, da bi pritegnili novo občinstvo v vir iz iskalnikov. Prav tako jih je treba prikazati, vendar je to treba storiti na straneh razdelkov in arhivov, tako da jih novinci lahko najdejo z uporabo navigacije po razdelkih spletnega mesta.

Na primer, tega članka ne boste našli na glavni strani mojega bloga na nobeni od njihovih strani za paginacijo (krmarjenje po straneh). Hkrati je najava članka vidna v razdelku »Uporabno« in na strani zemljevida »Vsi članki«.

Brez vtičnika

Metoda brez vtičnika je vedno zaželena, vendar v tem primeru ne bo prednostna, saj boste morali za izključitev določenega članka vsakič spremeniti datoteko predloge, ki ste jo namestili. Kljub temu bom pokazal več različnih možnosti za izvedbo takšne rešitve, saj je povsem možno, da vam bo to ustrezalo.

Spodaj bom navedel različne dele kode, ki jih je treba postaviti v datoteko predloge functions.php.

Izključitev določenih zapisov po ID-ju

Pri tej možnosti ni treba skriti celotnih kategorij pred vidnostjo na glavni strani, kot to počnejo mnogi s pomočjo različnih vtičnikov. Vse kar morate storiti je, da v kodo dodate ID-je zahtevanih zapisov.

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

if ($query -> is_home )

($poizvedba -> // ID objave

vrni $poizvedbo; )

V vrstici 3 sta številki 1 in 2 ID zapisa, ki ne bosta prikazana na domači strani. Pisati ga morate ločeno z vejicami.

ID objave, strani in kategorije boste izvedeli v naslovni vrstici brskalnika med pregledovanjem skozi urejevalnik.

Naslednja možnost vam bo omogočila izključitev vnosov iz vira RSS.

Izključitev iz vira RSS

Ta koda vam bo omogočila, da izključite obvestila iz vira novic in jih ne pošljete po e-pošti, če uporabljate storitev naročnin in objav z uporabo Feedburnerja.

funkcija exclude_post($query) ( if ($query->is_feed) ($query->set("post__not_in", array(1, 2));) // id objave (objave) vrni $query; ) add_filter(" pre_get_posts","exclude_post");

funkcija exclude_post ($poizvedba) (

če ($query -> is_feed)

($query -> set ("post__not_in", niz (1, 2)) ;) // ID objave

vrni $poizvedbo; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

Dodajanje zapisov v tem primeru in v vseh drugih poteka na enak način.

Izključitev iz kategorij in arhivov

Če želite izključiti objave s strani kategorij, uporabite naslednjo kodo.

funkcija exclude_post($query) ( if ($query->is_category) ($query->set("post__not_in", array(1, 2));) // ID objave (objave) vrni $query; ) add_filter(" pre_get_posts","exclude_post");

funkcija exclude_post ($poizvedba) (

if ($query -> is_category)

($query -> set ("post__not_in", niz (1, 2)) ;) // ID objave

vrni $poizvedbo; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

To kodo je mogoče spremeniti za uporabo izjeme iz arhivov. V 2. zgradbi je treba funkcijo is_category zamenjati z is_archive.

Izključitev iz iskalne strani

Ta možnost je morda potrebna tudi, če nekateri zapisi ne bi smeli biti prikazani obiskovalcem, ko uporabljajo iskanje po spletnem mestu. To so lahko na primer različni novičarski članki, ki ne vsebujejo vsebine o temi spletnega mesta.

funkcija exclude_post($query) ( if ($query->is_search) ($query->set("post__not_in", array(1, 2));) // ID objave vrne $query; ) add_filter(" pre_get_posts", "exclude_post");

funkcija exclude_post ($poizvedba) (

če ($query -> is_search)

($query -> set ("post__not_in", niz (1, 2)) ;) // ID objave

vrni $poizvedbo; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

Kombinacija več možnosti

Vse zgornje možnosti lahko kombinirate in izključite zapise z vseh vrst strani hkrati ali selektivno na potrebnih.

Če dobro pogledate vse kode, potem v 2. vrstici vidite stanje, v katerem je parameter vrste strani nastavljen tako, da onemogoči prikaz objav v njih:

  • is_search
  • je_kategorija
  • is_feed
  • is_home

Lahko kombinirate vse možnosti in izključite objave povsod ali na nekaterih straneh. Na primer, za izključitve iz kategorij in main bi morali v datoteko functions.php postaviti naslednjo kodo.

funkcija exclude_post($query) ( if ($query->is_category || ($query->is_home)) ($query->set("post__not_in", array(1, 2));) // ID objave ) vrni $poizvedba; ) add_filter("pre_get_posts","exclude_post");

funkcija exclude_post ($poizvedba) (

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

($query -> set ("post__not_in", niz (1, 2)) ;) // ID objave

vrni $poizvedbo; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

2. vrstica s pogojem (if) vsebuje parametre za kategorije (is_category) ali dom (is_home).

Upoštevajte, da je vsak naslednji parameter zapisan znotraj prejšnjega skozi 2 navpični črti in se nahaja v svojem oklepaju. To pomeni, da če pogledate prejšnjo kodo, boste videli, da je drugi pogoj za glavno stran zaprt v lastnih oklepajih in je znotraj splošnih oklepajev, ki ovijajo prvi pogoj za kategorije.

Če je vredno dodati kakšen tretji pogoj, na primer za arhivske strani, potem ga je vredno dodati v oklepajih s pogojem za glavnega (is_home) in ga zapisati skozi 2 navpični črti. V praksi je videti takole.

funkcija exclude_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive))) ($query->set("post__not_in", array(1, 2) );) // ID objave vrne $query; ) add_filter("pre_get_posts","exclude_post");

funkcija exclude_post ($poizvedba) (

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

($query -> set ("post__not_in", niz (1, 2)) ;) // ID objave

vrni $poizvedbo; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

Po istem principu dodajte druge vrste strani, ki jih želite izključiti.

Naslednja možnost za izključitev zapisov je izključitev celotnih naslovov (kategorij).

Izključitev celotnih kategorij

To je zelo priročno za lene ljudi, ko lahko preprosto ustvarite nekakšno kategorijo in vanjo dodate vse objave, ki ne zahtevajo prikaza na določenih vrstah strani.

Struktura kode je skoraj enaka. Spremeni le parameter, ki določa izključitev objave ali kategorije. V prej obravnavanih primerih je bila zadnja vrstica nastavljena na exclude_post. V novi kodi ga je treba nadomestiti z exclude_cat.

funkcija exclude_cat($query) ( if ($query->is_home) ($query->set("cat","-1, -2, -3");) // ID kategorije vrne $query; ) add_filter( "pre_get_posts", "exclude_cat");

funkcija exclude_cat ($poizvedba) (

if ($query -> is_home )

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

vrni $poizvedbo; )

add_filter ("pre_get_posts" , "exclude_cat" ) ;

Kot lahko vidite, je zadnja vrstica doživela spremembe in 3. vrstica, kjer je spremenjen parameter, ki bere ID kategorije. ID v tem primeru pišemo s pomišljajem, lahko pa tudi z vejico.

Načelo gradnje pogojev za vrste strani je podobno možnostim, ki smo jih obravnavali prej, kjer sem pokazal primer izključevanja določenih objav. Vredno je spremeniti 2. vrstico in dodati potrebne parametre za kategorije, iskanje, arhive ali vire RSS.

Torej, pogledali smo metode brez vtičnika. Obstaja tudi možnost izključitve vnosov o oznakah, vendar zdaj oznake niso več zelo pomembne za 99 % virov. Če potrebujete takšne informacije, jih napišite v komentarjih. Vse dodam takoj.

Vtičniki

Vtičniki so v tem primeru bolj prilagodljiva rešitev, saj pri izključitvi določenih vnosov ni treba vsakič urejati datoteke predloge. V urejevalniku želenih objav je vredno postaviti potrditveno polje ob njihovi objavi ali po njej.

Če je vredno izključiti posebno kategorijo, ustvarjeno za artikle, ki ne zahtevajo prikaza, potem je bolje uporabiti eno od zgoraj navedenih kod.

Preprosto izključi vtičnik

Vtičnik lahko prenesete prek konzole WordPress z iskanjem ali iz uradno spletno mesto WordPress.

Po aktivaciji bo že deloval in vam ga ni treba konfigurirati. Kljub temu priporočam nekaj sprememb, da bo delo z njegovimi funkcijami prijetnejše.

Po namestitvi in ​​​​aktivaciji takoj preidemo na njegove nastavitve.

Na začetku je v nastavitvah vtičnika vse nastavljeno tako, da ko je potrditveno polje aktivirano (ogledali si ga bomo spodaj), bodo zahtevane strani (objave, kategorije, strani) označene kot "dovoljeno za prikaz". Tako boste morali za vsako vrsto strani potrditi vsa potrditvena polja, da bo prikazano vse.

Bolj logično bi bilo to možnost nastaviti, ko bo z aktivacijo potrditvenega polja (npr. za glavno stran) označil članek ali kaj drugega kot prepovedano za prikaz.

V nastavitvah so 3 zavihki, ki so namenjeni konfiguriranju nastavitev za različne vrste strani:

  • Taksonomije (taksonomije) - nastavitve za delovanje vtičnika v razdelkih skrbniške plošče WordPress: kategorije in oznake;
  • Vrste objav - za vrste objav: članki in strani;
  • Uporabniki - nastavitve za uporabnike.

Zdaj bom podal posnetek zaslona nastavitev prvega zavihka (taksonomija) in razložil parametre, ki jih je treba nastaviti.

  • V prvem bloku nastavitev »Aktivno« morate nastaviti potrditveno polje »Aktivno«, tako da vtičnik doda potrebna potrditvena polja za onemogočanje prikaza v kategorijah ali drugih vrstah strani;
  • V drugem bloku nastavimo vse parametre nasproti možnosti »Izključi«. To pomeni, da če je potrditveno polje omogočeno v urejevalniku vsake vrste strani, bo ta skrita pred prikazom, novi članki pa bodo privzeto odprti za prikaz. Če nastavite parameter »Vključi samo«, bodo s potrditvijo potrditvenega polja vnosi odprti za prikaz, novi članki pa bodo privzeto skriti. Če je izbrana druga možnost »Samo vključi«, bodo po namestitvi vtičnika vsi vnosi skriti in morali boste nastaviti možnost »Izključi«;
  • V bloku »Pokaži/skrij« nastavite parameter »Pokaži«, tako da so v vsaki vrsti strani prikazana potrebna potrditvena polja za možnost onemogočanja ali omogočanja prikaza.

Enake parametre morate vnesti na preostalih 2 zavihkih nastavitev vtičnika Preprosto izključi.

Tukaj je na primer posnetek zaslona zavihka »Vrste objav«.

Seveda lahko onemogočite delovanje nekaterih funkcij, na primer na prvem zavihku lahko deaktivirate vtičnik za kategorije, če ne bomo izključili vseh objav celotne kategorije.

Zdaj o delu samega vtičnika. Ko nastavite potrebne parametre, lahko greste v urejevalnik za posamezno vrsto objave in potrdite polja poleg tistih strani, kjer želite izključiti njihov prikaz.

Na primer, če želite nastaviti nastavitve za objave, lahko greste v urejevalnik zahtevanega članka ali skozi postavko vsi članki. Tam in tam bodo potrebna potrditvena polja. V urejevalniku bo v desnem stolpcu blok »Preprosto izključi«, ki vsebuje 4 potrditvena polja za skrivanje objav in strani:

  • Arhivi - kategorije in arhivi;
  • Viri - viri RSS;
  • Sprednji/domači - glavni;
  • Iskanje - iskanje.

Če potrdite zahtevano potrditveno polje, lahko objavo skrijete na določeni vrsti strani.

V skrbniški plošči WordPress "Vse objave" nasproti vsakega gradiva v novem stolpcu z imenom "Preprosto izključi prikaz" bodo tudi ta 4 potrditvena polja. Enako velja za rubrike. Dodan bo nov stolpec z vsemi potrditvenimi polji.


To je vse za ta vtičnik. Z njegovo namestitvijo lahko zelo hitro in prilagodljivo spreminjate parametre prikaza določenih objav ali celotnih kategorij, ne da bi pri tem posegali v datoteke predlog.

Vtičnik Izključi kategorije

Vtičnik je namenjen samo skrivanju celotne kategorije z glavne strani in vira RSS. Ker ta možnost ne zahteva veliko prilagodljivosti (enkrat sem ustvaril kategorijo in vanjo dodal članke), priporočam implementacijo izključitve celotne kategorije s kodo (glej točko 2).

Vtičnik lahko prenesete s spodnjim gumbom.

Ko ga namestite, pojdite na nastavitve (Nastavitve - Izključi kategorijo) in izberite želeno kategorijo, da jo izključite z glavne strani.

Izključitev vseh vnosov v kategoriji je običajna možnost. Toda v tem vidim pomanjkljivost, saj mora spletno mesto objaviti veliko člankov, da bi pritegnilo iskalni promet, in vsi bodo o različnih vprašanjih iste teme.

Toda tlačenje različnih materialov v eno kategorijo ni ravno dobro.

Ta možnost se pogosto uporablja tudi pri aktivni prodaji povezav na spletnem mestu. Lastnik ustvari rubriko in v njej objavi vse artikle s prodajnimi povezavami. In to tudi ni zelo dobro, saj zdaj spletni skrbniki zahtevajo, da povezavo postavite v enega od glavnih razdelkov spletnega mesta, tako da jo je mogoče vsaj malo klikniti in ima učinek med promocijo.

To je to, fantje, s tem zaključujem ta podroben priročnik, ki bi vam moral biti koristen, če ste prišli na pravo mesto za ta članek. Upam, da bo šlo vse dobro zate.

Želim vam čudovito razpoloženje in čudovit dan. Se vidiva.

Lep pozdrav, Konstantin Khmelev!

Danes je članek o tem, kako lahko ročno, brez uporabe vtičnikov, izključite kategorije z glavne strani spletnega mesta WordPress.

Objave iz določene kategorije na glavni strani spletnega dnevnika lahko izključite na več načinov. Po mojem mnenju je eden najlažjih načinov, da v datoteko dodate majhen košček kode functions.php. Ta del kode bo nekakšen filter, ki nas bo rešil pred spreminjanjem drugih datotek tem. Z uporabo te metode vam ni treba izgubljati časa s predelavo cikla izpisovanja zapisov v datoteko index.php skozi query_posts.

Torej, poglejmo primer:

1) Recimo, da moramo izbrisati vnose iz kategorije, katere identifikacijska številka je 4, to je ID = 4. Z drugimi besedami, iz glavne strani moramo izločiti objave iz kategorije, katere ID je 4.

2) Odločili smo se za naloge, začnimo jih izvajati - za to jih bomo dodali v datoteko functions.php naslednji del kode:

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

Spremenjeno datoteko shranimo functions.php in vidimo, da na glavni strani ni več vnosov iz kategorije ID=4.

Z vidika logike WordPressa je glavna stran tudi vsaka druga stran, ki se oblikuje z navigacijo strani. Tako ne bomo videli objav iz izključene kategorije ID=4 na strani 2, 3 ali 4 itd.

Če vam ta možnost ne ustreza, lahko zgornjo kodo nekoliko spremenite v to:

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

Shranimo in zdaj se bodo na vsaki strani, razen na glavni strani, normalno prikazovali vnosi iz kategorije z ID=4.

Izključitev vnosov kategorij iz rezultatov iskanja

Če morate iz strani z rezultati iskanja izključiti vnose kategorij, morate le spremeniti is_home na is_search.

Če želite izključiti vnose iz več kategorij, morate v zgornjih kodah navesti ID-je teh kategorij, ločene z vejicami. Recimo, da morate izključiti kategorije, katerih ID-ji so 3,7,8,9. Nato bo imela koda naslednje spremembe:

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

Izključitev vnosov kategorij iz vira RSS

Kaj storiti, če morate objave iz določene kategorije izključiti iz svojega vira RSS? In to lahko storite zelo preprosto - uporabite spodnjo kodo:

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

Shranimo spremembe in vidimo, da v viru ni več objav iz kategorije, ki je ne potrebujemo.

Izključitev vnosov kategorij iz vira RSS in glavne strani

Če nenadoma morate zagotoviti, da objave iz določene kategorije niso prikazane na glavni strani in v viru, morate uporabiti naslednjo kodo:

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

V tem primeru vnosi v kategorijah, katerih ID je 3, ne bodo prikazani na glavni strani in v viru RSS, ampak bodo prikazani, ko se odprejo druge strani.

Spremembe datoteke functions.php lahko vnesete kjerkoli, vendar brez dotika kode druge funkcije. Najlažji način je, da kodo dodate na konec datoteke.

Znano je, da paginacija povzroča podvajanje strani. To pa lahko privede do dejstva, da lahko takšno spletno mesto "upade" v rezultatih iskanja. V tem primeru je edini izhod iz te situacije zagotoviti, da iskalni roboti ne "vidijo", da kjer koli na spletnem mestu obstaja paginacija.

Kako preprečiti indeksiranje paginacije?

Eden od načinov za rešitev te težave je dodajanje direktive noindex na strani za označevanje strani. Na koncu bi morali izgledati takole:

noindex je posebna direktiva, ki se uporablja za označevanje povezav, ki niso zaželene za indeksiranje s strani iskalnikov. Ko iskalni robot naleti nanjo, bo takoj "razumel", da te strani ni treba upoštevati. Preprosto ga bo preskočil, zato ne bo uvrščen na seznam tistih, ki jih je treba dodati v indeks.

Od vseh načinov reševanja težave je najbolj pravilen in najlažji za uporabnika WordPressa vtičnik, ki bo v dveh klikih skril stran pred iskalniki. Če želite to narediti, pojdite v skrbniški razdelek Clearfy Pro, nato na zavihku SEO omogoči možnost Noindex za paginacijo.

Poleg vtičnika Clearfy Pro, obstajajo tudi drugi, manj priročni načini za blokiranje paginacije robotov. Oglejmo si najbolj priljubljene med njimi.

1. način: datoteka functions.php

Ta metoda vključuje dodajanje posebne kode PHP vaši aktivni datoteki teme.

Če ne veste, kako urediti functions.php, vam bo vtičnik pomagal.

Torej, čisto na koncu morate dodati naslednje vrstice:

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

Kot rezultat kode, ki se izvaja na straneh za paginacijo (začenši od druge), v razdelku , bo prisotna zgornja vrstica:

2. način. Datoteka robots.txt

Prav tako lahko dodate noindex za strani s paginacijo prek posebne datoteke robots.txt, ki se nahaja v korenskem imeniku vašega spletnega mesta. Vanj morate dodati naslednjo vrstico:

Prepoved: */stran/

Ta metoda je podobna prejšnji in daje enak rezultat.