Išskirkite kai kurias „WordPress“ kategorijas iš puslapių. Kaip išskirti įrašus ir kategorijas iš „WordPress“ pagrindinio puslapio, RSS kanalo, kategorijų ir archyvų be papildinių

Pagrindiniame puslapyje, taip pat kategorijų puslapiuose, archyvuose ir paieškos rezultatuose dažniausiai reikalinga puslapio naršymas (taip pat žinomas kaip puslapių rūšiavimas). „WordPress“ tinklaraščiai nėra išimtis, jie taip pat naudoja puslapių rūšiavimą, kai informacijos išvesties rezultatai suskirstomi į kelis puslapius.

Anksčiau šiai funkcijai įgyvendinti buvo naudojami trečiųjų šalių papildiniai arba specialios funkcijos, kurios buvo faile funkcijos.php. Tačiau, išleidus WordPress 4.1 versiją, puslapių spausdinimo funkcija buvo integruota į TVS branduolį, o dabar pakanka vidinių WordPress funkcijų, kad būtų galima įdiegti puslapio naršymą ir nereikia pridėti trečiosios šalies kodo ar įskiepių.

Anksčiau rašiau apie panašų WordPress patobulinimą dėl TITLE žymos – https://aboutwordpress.ru/post/wordpress-title/.

Kas yra puslapių rašymas

Puslapių spausdinimas – tai informacijos padalijimas į puslapius. Ši sąvoka taip pat reiškia nuoseklų puslapių numeravimą, nurodytą skaičiais, esančiais puslapio apačioje, viršuje arba šone.

WP-PageNavi – „WordPress“ puslapių kūrimo papildinys

Populiariausias „WordPress“ puslapių kūrimo papildinys yra WP-PageNavi. Tiesą sakant, jis taip gerai susidoroja su puslapių kūrimo užduotimi, kad nėra prasmės diskutuoti ir lyginti kitus papildinius.

WordPress puslapių puslapiai – WP-PageNavi papildinys

WordPress puslapių puslapiai be papildinio

Norėdami atlikti puslapių rūšiavimą svetainėje be papildinių, naudosime integruotą WordPress funkciją the_posts_pagination(). Mums reikalingoje vietoje turime įterpti šį kodą (paprastai tai yra failai index.php, kategorija.php ir panašiai):

Funkcijos the_posts_pagination() rezultatas bus maždaug toks HTML kodas:

H2 antraštės pašalinimas iš puslapių

H2 antraštė „Post Navigation“ iškart patraukia jūsų dėmesį. Kuris daugeliu atvejų neturi vietos svetainėje. Norėdami jo atsikratyti, prie failo pridėkite šį kodą funkcijos.php:

/* Pašalinti H2 iš puslapių skyrimo */ add_filter("navigacijos_žymėjimo_šablonas", "mano_navigacijos_šablonas", 10, 2); function my_navigation_template($template, $class)( return "

"; }

Puslapių puslapių nustatymas

Pagal numatytuosius nustatymus the_posts_pagination() rodo pirmąjį ir paskutinį puslapį, taip pat vieną puslapį aplink dabartinį. Visi kiti pakeičiami elipsėmis. Šį elgesį galima pakeisti naudojant argumentus:

  • show_all – rodyti visus puslapius
  • end_size – puslapių skaičius sąrašo pradžioje ir pabaigoje
  • mid_size – puslapių skaičius kairėje ir dešinėje dabartinio puslapio

Pavyzdžiui taip:

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

CSS puslapių spausdinimo stiliai

Puslapių numeriai ( užpildymas: 1 % 2 %; dėžutės šešėlis: 0 0 10 piks. # ccc; paraštė: 0 1 % 0 0; fonas: #fff; kraštinės spindulys: 3 pikseliai; )

Nuorodos į puslapių puslapius su šiais stiliais atrodys taip:

…kaip tai padaryti? ... apskritai nėra sunku. Ir jei užduotis yra būtent uždrausti rodyti vieną ar kitą kategoriją, mes išspręsime šią užgaidą per kelias minutes.

Tačiau yra vienas dalykas -

...išsprendžiant uždraudimo rodyti kategoriją valdiklyje problemą, su juo atsiranda niūrus ryšys, būtent klausimas: kaip sukonfigūruoti kategorijų rodymą reikiama ir logiška tvarka, bet ne chaotiškai!?


...turėtum gerai pagalvoti. ...ir aiškiai apibrėžkite savo poreikius. Bet pirmiausia: ir galiausiai pateiksiu puikų ir išradingą kategorijų filtravimo sprendimą...

kodo paprastumas Diegiant tokius reikalingo/nereikalingo tinklaraščio turinio draudimus/leidimus, verta turėti omenyje tam tikrą savo svetainės kūrimo perspektyvą, kad nesusidurtumėte su dar viena lydinčia „staigmena“ būti ar nebūti tinklaraščio atkūrimas ateityje – redaguojant failus arba pakeičiant papildinius.

Juk visada yra alternatyva: ar naudoti įskiepį (jų skaičius „...kaip shag...“ ne visada geras), ar kodą įrašyti į funkcijų failą - f unctions.php (neblogai, bet vienareikšmiškai problemos neišsprendžia)!?

Apsispręsk!..

Parodžiau galimą techninį neapgalvotos dienoraščio pradžios nepakankamumą, o dabar siūlau galimus logiško sprendimo būdus:

Jei jums tiesiog reikia paslėpti tam tikrą „WordPress“ valdiklio kategoriją, kuri pagal numatytuosius nustatymus yra bet kurios naujos svetainės skrandyje, tai paprasta.

Atidarome failą, apie kurį kalbėjome apie functions.php ir kažkur jo galutiniame dekodavime) prieš žymą?> parašome šį ryškų koduotą filtrą.

// RUBRIC IŠSKYRIMO KODO pradžios funkcija ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //RUBRIKŲ IŠSIMTIES KODAS pabaiga

Skaičius 39 nurodo kategorijos ID, kuris svetainėje filtruojamas kaip nenaudingas turgus.

Galite nurodyti kelis, atskirtus kableliais.

...Štai, vienas iš klausimų uždarytas.

kaip paslėpti subkategorijos rodymą valdiklyje

Sprendimas yra žemiau esančioje kodo versijoje, kuri draudžia/leidžia rodyti tam tikrų subkategorijų pavadinimus (vaikų tinklaraščio įrašus).

// išvesties kodas vienintelėms kategorijos subkategorijoms su nurodyta ID=7 pradžios funkcija ext_widget_categories($args)( $args["child_of"] = 7; return $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //išvesties kodas vienintelėms kategorijos subkategorijoms su nurodyta ID=7 pabaiga

Šių kodų argumentacija gali būti derinama.

Štai jums!! Mes pasiekėme visišką EKRANO valdymo valdymą visų jūsų kategorijų valdiklyje „Kategorijos“.

...bet - vis dėlto sakome!! Dažnai atsitinka taip, kad po kurio laiko, atsidarius svetainės puslapį, karčiai aptinkamas dar vienas trūkumas: šoninės juostos valdiklyje antraštės išsidėsčiusios ne logiška tvarka (netyčia) – žinote, profesionalumo ugdymo kruopštumas.

Šiuo atveju taip pat turite pasirinkti iš kelių gražių variantų:

Eikime į WordPress įskiepių saugyklą – kelias: console/plugins/add plugin/...install/active... toks stebuklas Kategorijų tvarka ir taksonomijos terminų tvarka.

Techninis citatos vertimas į papildinį:
Užsisakykite kategorijas ir visus taksonomijos terminus (priskirti pagal hierarchiją) ir antrinius terminus naudodami vilkimo ir rūšiavimo „Javascript“ galimybes.
Įskiepis neturi painių nustatymų: tereikia užvesti pelės žymeklį virš „įrašų“ pulto kairėje ir pažiūrėti į Taksonomijos užsakymo elementą...

Viskas paradoksaliai paprasta: vilkdami lentas sukonfigūruokite optimalią esamų antraščių pavadinimų rodymo seką.

„Papildinio“ metodo trūkumai yra šie: jūs negalite uždrausti rodyti tam tikrų kategorijų...

Todėl turėsite naudoti aukščiau siūlomą kodą arba toliau pateiktą papildinį...

Draudžiame rodyti kai kurias kategorijas naudojant NS Category Widget papildinį

...vėl užsukime į „WordPress“ saugyklą ir atsisiunčiame „NS Category Widget“ kištuką – šis „šuolis“ suteiks mums dar vieną, bet elegantiškesnį nustatymą šalia jau esančio „Categories“ valdiklio: t.y. – įprastą valdiklį reikia ištrinti arba paslėptas „neaktyvus“ ir sukonfigūruokite šią išplėstinę turinio valdymo parinktį: jo rodymą / blokavimą.

Eikite į jo nustatymus ir nustatykite savo taisykles: pagal kategorijos ID, hierarchijų svarbą ir panašius koregavimus... Tai paprasta!

Papildinys leidžia naudoti daugybę valdiklių vienetų reikiamais puslapių lygiais, kurių nustatymai yra individualūs, skirtingai nei standartinės „kategorijos“, kurių galite rodyti bent keliolika, tačiau „viršutinės“ kodo nustatymus. galios visiems: tai yra minusas iš galimybės prijungti standartinį „kategorijų“ valdiklį ir pačioje straipsnio pradžioje aprašytą kodą... O jei planuojate naudoti keletą kategorijų valdiklių parinkčių, vis tiek turėtumėte atsisiųskite „NS Category Widget“ papildinį.

BET! išplėstinėje nėra paprastesnės ir subtilesnės kategorijų rūšiavimo tvarkos - tai yra jo trūkumas. Tokia painiava!

Sprendimas yra tavo...

...jei pamatėte ką nors naudingo straipsnyje sau, puiku!

Sveiki bičiuliai!

Šiandien bus techninis straipsnis, kuriame bus parodyta, kaip pašalinti įrašus iš pagrindinio „WordPress“ svetainės puslapio.

Taip pat sužinosite, kaip išskirti visas kategorijas, o ne tik konkrečius įrašus. Parodysiu daug variantų, tiek su papildiniais, tiek be jų. Apskritai viskas kaip visada.

Kokiais atvejais jis turėtų būti naudojamas?

Poreikis pašalinti kai kuriuos įrašus, tai yra jų pranešimus, iš pagrindinio puslapio, dažniausiai egzistuoja asmeniniuose tinklaraščiuose, kai be didelių, kokybiškų straipsnių įprastai auditorijai, verta papildyti išteklius paprastais SEO optimizuotais straipsniais. .

Tokie straipsniai vargu ar bus naudingi tinklaraščio nariams, nes jie visa tai jau žino. Kad pagrindinis puslapis neapkrautų nereikalingais skelbimais, verčiau jų nerodyti. Tuo pačiu metu jie turėtų būti įtraukti į svetainę, siekiant pritraukti naujų auditorijų į išteklių iš paieškos sistemų. Jie taip pat turi būti rodomi, tačiau tai turėtų būti daroma skyrių ir archyvų puslapiuose, kad naujokai galėtų juos rasti naudodami naršymą svetainės skyriuose.

Pavyzdžiui, šio straipsnio nerasite pagrindiniame mano tinklaraščio puslapyje jokiuose puslapių puslapiuose (puslapio naršymas). Tuo pačiu metu straipsnio skelbimas matomas skiltyje „Naudinga“ ir „Visi straipsniai“ svetainės žemėlapio puslapyje.

Be įskiepio

Metodas be įskiepio visada yra pageidautinas, tačiau šiuo atveju jis nebus prioritetas, nes norėdami neįtraukti tam tikro straipsnio, turėsite kiekvieną kartą keisti šablono failą, kurį įdiegėte. Tačiau vis tiek parodysiu keletą skirtingų tokio sprendimo įgyvendinimo variantų, nes visiškai įmanoma, kad tai jums tiks.

Žemiau pateiksiu įvairias kodo dalis, kurios turėtų būti dedamos į functions.php šablono failą.

Išskyrus konkrečius įrašus pagal ID

Pasirinkus šią parinktį, nereikia slėpti ištisų kategorijų nuo matomumo pagrindiniame puslapyje, kaip daugelis tai daro įvairių įskiepių pagalba. Tereikia į kodą įtraukti reikalingų įrašų ID.

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

if ($query -> is_home )

( $query -> // pašto id

grąžinti $query ; )

3 eilutėje 1 ir 2 numeriai yra ID įrašai, kurie nebus rodomi pagrindiniame puslapyje. Jį reikia rašyti atskiriant kableliais.

Įrašo, puslapio ir kategorijos ID sužinosite naršyklės adreso juostoje peržiūrėdami per redaktorių.

Kita parinktis leis neįtraukti įrašų iš RSS informacijos santraukos.

Išskyrimas iš RSS kanalo

Šis kodas leis jums neįtraukti pranešimų iš naujienų kanalo ir nesiųsti jų el. paštu, jei naudojatės prenumeratos ir pranešimų paslauga naudodami „Feedburner“.

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

funkcija include_post ($query) (

if ($query -> is_feed )

( $query -> set ( "post__not_in", masyvas ( 1 , 2 ) ) ;) // pašto id

grąžinti $query ; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

Įrašų pridėjimas šiuo ir visais kitais atvejais vyksta taip pat.

Išskyrimas iš kategorijų ir archyvų

Norėdami išskirti įrašus iš kategorijų puslapių, turėtumėte naudoti šį kodą.

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

funkcija include_post ($query) (

if ($query -> is_category )

( $query -> set ( "post__not_in", masyvas ( 1 , 2 ) ) ;) // pašto id

grąžinti $query ; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

Šį kodą galima modifikuoti, kad būtų taikoma išimtis iš archyvų. 2 pastate funkciją is_category reikia pakeisti is_archive.

Išskyrimas iš paieškos puslapio

Ši parinktis taip pat gali būti reikalinga, jei kai kurie įrašai neturėtų būti rodomi lankytojams, kai jie naudojasi svetainės paieška. Pavyzdžiui, tai gali būti įvairūs naujienų straipsniai, kuriuose nėra turinio svetainės tema.

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", "exclude_post");

funkcija include_post ($query) (

if ($query -> is_search )

( $query -> set ( "post__not_in", masyvas ( 1 , 2 ) ) ;) // pašto id

grąžinti $query ; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

Kelių variantų derinimas

Galite sujungti visas aukščiau pateiktas parinktis ir išskirti įrašus iš visų tipų puslapių vienu metu arba pasirinktinai reikiamuose puslapiuose.

Jei gerai pažvelgsite į visus kodus, tada 2-oje eilutėje galite pamatyti sąlygą, kai puslapio tipų parametras yra nustatytas taip, kad būtų išjungtas pranešimų skelbimas juose:

  • is_search
  • yra_kategorija
  • is_feed
  • is_home

Galite derinti visas parinktis ir neįtraukti įrašų iš visur arba kai kuriuose puslapiuose. Pavyzdžiui, norėdami išskirti iš kategorijų ir pagrindinių, faile functions.php turėtumėte įdėti šį kodą.

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

funkcija include_post ($query) (

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

( $query -> set ( "post__not_in", masyvas ( 1 , 2 ) ) ;) // pašto id

grąžinti $query ; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

2-oje eilutėje su sąlyga (jei) yra kategorijų (yra_kategorija) arba namų (yra_namai) parametrai.

Atkreipkite dėmesį, kad kiekvienas kitas parametras yra įrašytas ankstesniame per 2 vertikalias juostas ir yra atskiruose skliausteliuose. Tai yra, jei pažvelgsite į ankstesnį kodą, pamatysite, kad antroji pagrindinio puslapio sąlyga yra atskiruose skliaustuose ir yra bendruosiuose skliausteliuose, kurie apvynioja pirmąją kategorijų sąlygą.

Jei verta pridėti kažkokią trečią sąlygą, pavyzdžiui, archyvo puslapiams, tada ją verta įdėti į skliaustus su sąlyga pagrindinei (is_home) ir parašyti per 2 vertikalias juostas. Praktikoje tai atrodo taip.

function include_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive))) ($query->set("post__not_in", array(1, 2)) );) // įrašo ID return $query; ) add_filter("pre_get_posts","exclude_post");

funkcija include_post ($query) (

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

( $query -> set ( "post__not_in", masyvas ( 1 , 2 ) ) ;) // pašto id

grąžinti $query ; )

add_filter ("pre_get_posts" , "exclude_post" ) ;

Tuo pačiu principu pridėkite kitų tipų puslapius, kuriuos norite išskirti.

Kitas įrašų neįtraukimo variantas yra išskirti visas antraštes (kategorijas).

Išskyrus visas kategorijas

Tai labai patogu tinginiams, kai galite tiesiog susikurti kokią nors kategoriją ir įtraukti ten visus įrašus, kurių nereikia rodyti tam tikro tipo puslapiuose.

Kodo struktūra yra beveik tokia pati. Tai tik pakeičia parametrą, nurodantį įrašo ar kategorijos išskyrimą. Anksčiau aptartais atvejais paskutinė eilutė buvo nustatyta į neįtraukti_post. Naujame kode jis turėtų būti pakeistas neįtraukti_katė.

function include_cat($query) ( if ($query->is_home) ($query->set("katė","-1, -2, -3");) // kategorijos ID return $query; ) add_filter( "pre_get_posts","exclude_cat");

funkcija include_cat ($query) (

if ($query -> is_home )

( $query -> set ("katė" , "-1, -2, -3" ) ; ) // kategorijos ID

grąžinti $query ; )

add_filter ("pre_get_posts" , "exclude_cat" ) ;

Kaip matote, paskutinė eilutė buvo pakeista ir 3 eilutė, kurioje buvo pakeistas parametras, nuskaitantis kategorijos ID. ID šiuo atveju rašomas per brūkšnį, bet ir per kablelį.

Puslapių tipų sąlygų sudarymo principas yra panašus į anksčiau aptartas parinktis, kur parodžiau konkrečių įrašų neįtraukimo pavyzdį. Verta pakeisti 2 eilutę, pridėti reikiamus parametrus kategorijoms, paieškai, archyvams ar RSS kanalams.

Taigi, mes pažvelgėme į metodus be papildinio. Taip pat yra galimybė neįtraukti įrašų apie žymas, tačiau dabar žymos nebėra labai svarbios 99% išteklių. Jei jums reikia tokios informacijos, parašykite apie tai komentaruose. Tuoj viską pridėsiu.

Papildiniai

Papildiniai šiuo klausimu yra lankstesnis sprendimas, nes išskiriant konkrečius įrašus nereikia kiekvieną kartą redaguoti šablono failo. Skelbiant ar po norimų įrašų verta uždėti žymimąjį laukelį į redaktorių.

Jei verta išskirti specialią kategoriją, sukurtą straipsniams, kuriems nereikia rodyti, tada geriau naudoti vieną iš aukščiau pateiktų kodų.

Tiesiog išskirti papildinį

Papildinį galite atsisiųsti naudodami „WordPress“ konsolę naudodami paiešką arba iš oficiali WordPress svetainė.

Po aktyvinimo jis jau veiks ir jums nereikės jo konfigūruoti. Tačiau vis tiek rekomenduoju atlikti kai kuriuos pakeitimus, kad darbas su jo funkcijomis būtų malonesnis.

Įdiegę ir suaktyvinę iškart pereiname prie jo nustatymų.

Iš pradžių įskiepio nustatymuose viskas nustatyta taip, kad suaktyvinus varnelę (pažiūrėsime žemiau), reikiami puslapiai (postai, kategorijos, puslapiai) būtų pažymėti kaip „leistina rodyti“. Taigi, kiekvienam puslapio tipui turėsite pažymėti visus žymimuosius laukelius, kad viskas būtų rodoma.

Logiškiau būtų šią parinktį nustatyti tada, kai, suaktyvinus žymimąjį langelį (pavyzdžiui, pagrindiniam puslapiui), straipsnis ar kažkas kita bus pažymėtas kaip draudžiamas rodyti.

Nustatymuose yra 3 skirtukai, skirti konfigūruoti skirtingų tipų puslapių nustatymus:

  • Taksonomijos (taksonomijos) – įskiepio veikimo nustatymai WordPress administratoriaus skydelio skyriuose: kategorijos ir žymės;
  • Pranešimų tipai – įrašų tipams: straipsniai ir puslapiai;
  • Vartotojai – nustatymai vartotojams.

Dabar pateiksiu pirmojo skirtuko (taksonomijos) nustatymų ekrano kopiją ir paaiškinsiu parametrus, kuriuos reikia nustatyti.

  • Pirmame nustatymų bloke „Aktyvus“ reikia pažymėti žymimąjį laukelį „Aktyvus“, kad įskiepis pridėtų reikiamus žymimuosius laukelius, kad išjungtų rodymą kategorijose ar bet kokio kito tipo puslapiuose;
  • Antrame bloke nustatome visus parametrus priešais parinktį „Išskirti“. Tai reiškia, kad jei kiekvieno tipo puslapio rengyklėje įjungtas žymimasis laukelis, jis bus paslėptas, o nauji straipsniai bus rodomi pagal numatytuosius nustatymus. Jei nustatysite parametrą „Įtraukti tik“, pažymėjus žymimąjį laukelį, įrašai bus atidaryti, o nauji straipsniai pagal numatytuosius nustatymus bus paslėpti. Jei pasirinkta antroji parinktis „Įtraukti tik“, tada įdiegus papildinį visi įrašai bus paslėpti ir turėsite nustatyti parinktį „Išskirti“;
  • Bloke „Rodyti/slėpti“ nustatykite parametrą „Rodyti“, kad kiekvieno tipo puslapyje būtų rodomi būtini žymimieji langeliai, leidžiantys išjungti arba įjungti rodymą.

Tie patys parametrai turėtų būti įvesti ir likusiuose 2 skirtukuose Simply Exclude papildinio nustatymuose.

Pavyzdžiui, čia yra skirtuko „Įrašų tipai“ ekrano kopija.

Žinoma, galite išjungti kai kurių funkcijų veikimą, pavyzdžiui, pirmame skirtuke galite išjungti kategorijų papildinį, jei neketiname išskirti visų visos kategorijos įrašų.

Dabar apie paties papildinio darbą. Kai nustatysite reikiamus parametrus, galite eiti į kiekvieno įrašo tipo redaktorių ir pažymėti langelius prie tų puslapių, kuriuose norite neįtraukti jų rodymo.

Pavyzdžiui, norėdami nustatyti įrašų nustatymus, galite eiti į reikiamo straipsnio redaktorių arba per elementą Visi straipsniai. Ir ten, ir ten bus reikalingi žymės langeliai. Redagavimo priemonės dešiniajame stulpelyje bus blokas „Tiesiog išskirti“, kuriame yra 4 žymimieji laukeliai, skirti paslėpti įrašus ir puslapius:

  • Archyvai – kategorijos ir archyvai;
  • Informacijos santraukos – RSS informacijos santraukos;
  • Front/Home – pagrindinis;
  • Paieškos – paieška.

Pažymėję reikiamą žymimąjį laukelį, galite paslėpti įrašą tam tikro tipo puslapyje.

„WordPress“ administratoriaus skydelyje „Visi įrašai“ priešais kiekvieną medžiagą naujame stulpelyje „Tiesiog neįtraukti rodyti“ taip pat bus šie 4 žymimieji laukeliai. Tas pats pasakytina ir apie rubrikas. Bus pridėtas naujas stulpelis su visais žymimaisiais laukeliais.


Tai viskas šiam papildiniui. Ją įdiegę galite labai greitai ir lanksčiai keisti konkrečių įrašų ar ištisų kategorijų rodymo parametrus, nesikišdami į šablonų failus.

Išskirti kategorijų papildinys

Papildinys skirtas tik paslėpti visą kategoriją pagrindiniame puslapyje ir RSS kanale. Kadangi ši parinktis nereikalauja didelio lankstumo (kartą sukūriau kategoriją ir pridėjau ten straipsnius), rekomenduoju įgyvendinti visos kategorijos išskyrimą naudojant kodą (žr. 2 punktą).

Papildinį galite atsisiųsti naudodami toliau pateiktą mygtuką.

Įdiegę eikite į nustatymus (Nustatymai - Išskirti kategoriją) ir pasirinkite reikiamą kategoriją, kad pašalintumėte ją iš pagrindinio puslapio.

Įprasta galimybė neįtraukti visų kategorijos įrašų. Tačiau matau trūkumą, nes svetainė turi publikuoti daug straipsnių, kad pritrauktų paieškos srautą, ir jie visi bus skirtinguose tos pačios temos klausimais.

Tačiau suskirstyti įvairias medžiagas į vieną kategoriją nėra labai gerai.

Ši parinktis taip pat dažnai naudojama aktyviai parduodant nuorodas svetainėje. Savininkas sukuria skyrių ir paskelbia visus straipsnius su pardavimo nuorodomis. Ir tai taip pat nėra labai gerai, nes dabar žiniatinklio valdytojai reikalauja vienoje iš pagrindinių svetainės skilčių įdėti nuorodą, kad ją būtų galima bent šiek tiek spustelėti ir kad ji veiktų reklamos metu.

Štai, vaikinai, šia pastaba baigiu šį išsamų vadovą, kuris jums turėtų būti naudingas, jei atėjote į tinkamą šio straipsnio vietą. Tikiuosi, kad tau viskas bus gerai.

Linkiu nuostabios nuotaikos ir nuostabios dienos. Iki.

Pagarbiai, Konstantinas Chmelevas!

Šiandien yra straipsnis apie tai, kaip galite rankiniu būdu, nenaudodami papildinių, išskirti kategorijas iš pagrindinio „WordPress“ svetainės puslapio.

Yra keletas būdų, kaip išskirti įrašus iš tam tikros kategorijos pagrindiniame tinklaraščio svetainės puslapyje. Vienas iš paprasčiausių būdų, mano nuomone, yra pridėti nedidelę kodo dalį į failą funkcijos.php. Ši kodo dalis bus tam tikras filtras, kuris neleis mums keisti kitų temų failų. Naudojant šį metodą, jums nereikia gaišti laiko pertvarkydami įrašų išvedimo į failą ciklą index.php per query_posts.

Taigi, pažiūrėkime į pavyzdį:

1) Tarkime, kad turime ištrinti įrašus iš kategorijos, kurios identifikavimo numeris yra 4, tai yra, ID = 4. Kitaip tariant, pagrindiniame puslapyje turime išskirti įrašus iš kategorijos, kurių ID yra 4.

2) Apsisprendėme dėl užduočių, pradėkime jas įgyvendinti - tam mes įtrauksime jas į failą funkcijos.phpši kodo dalis:

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

Išsaugome pakeistą failą funkcijos.php ir matome, kad pagrindiniame puslapyje nebėra įrašų iš ID=4 kategorijos.

„WordPress“ logikos požiūriu pagrindinis puslapis taip pat yra bet kuris kitas puslapis, suformuotas naršant puslapyje. Taigi nematysime įrašų iš išskirtos kategorijos ID=4 2, 3 ar 4 puslapyje ir pan.

Jei ši parinktis jums netinka, galite šiek tiek pakeisti aukščiau pateiktą kodą į šį:

Funkcija removeFromHome($query) ( if ($query->is_home && !(is_paged())) ($query->set("cat","-5");) return $query; ) add_filter("pre_get_posts" „pašalinti iš namų“);

Išsaugome ir dabar kiekviename puslapyje, išskyrus pagrindinį, įrašai iš kategorijos su ID=4 bus rodomi įprastai.

Kategorijų įrašų išskyrimas iš paieškos rezultatų

Jei norite išskirti kategorijų įrašus iš paieškos rezultatų puslapio, tereikia pakeisti is_homeįjungta is_search.

Norėdami neįtraukti įrašų iš kelių kategorijų, aukščiau pateiktuose koduose turite nurodyti šių kategorijų ID, atskirtus kableliais. Tarkime, kad reikia išskirti kategorijas, kurių ID yra 3,7,8,9. Tada kodas turės šiuos pakeitimus:

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

Kategorijų įrašų neįtraukimas iš RSS kanalo

Ką daryti, jei iš savo RSS kanalo reikia išskirti tam tikros kategorijos įrašus? Ir jūs galite tai padaryti labai paprastai – naudokite žemiau esantį kodą:

Funkcija removeFromFeed($query) ( if ($query->is_feed) ($query->set("katė","-4");) return $query; ) add_filter("pre_get_posts","removeFromFeed");

Išsaugome pakeitimus ir matome, kad sklaidos kanale nebėra pranešimų iš kategorijos, kurios mums nereikia.

Kategorijų įrašų neįtraukimas iš RSS informacijos santraukos ir pagrindinio puslapio

Jei staiga reikia įsitikinti, kad tam tikros kategorijos įrašai nerodomi pagrindiniame puslapyje ir sklaidos kanale, turite naudoti šį kodą:

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

Tokiu atveju kategorijų, kurių ID yra 3, įrašai nebus rodomi pagrindiniame puslapyje ir RSS kanale, bet bus rodomi atidarius kitus puslapius.

Failo pakeitimai funkcijos.php galima įvesti bet kur, bet neliečiant kitos funkcijos kodo. Paprasčiausias būdas yra pridėti kodą failo pabaigoje.

Gerai žinoma, kad puslapių numeravimas sukelia puslapių dubliavimą. Tai savo ruožtu gali lemti tai, kad tokia svetainė gali „nukristi“ paieškos rezultatuose. Šiuo atveju vienintelė išeitis iš šios situacijos yra įsitikinti, kad paieškos robotai „nemato“, kad bet kurioje svetainės vietoje yra puslapių numeravimas.

Kaip blokuoti puslapių puslapių indeksavimą?

Vienas iš būdų išspręsti šią problemą – puslapių puslapiuose pridėti direktyvą „noindex“. Galų gale jie turėtų atrodyti taip:

noindex yra speciali direktyva, naudojama nurodyti nuorodas, kurios nėra pageidautinos indeksuoti paieškos sistemoms. Paieškos robotas, užklydęs ant jo, iškart „supras“, kad į šį puslapį nereikia atsižvelgti. Jis tiesiog jį praleis, todėl jis nebus įtrauktas į sąrašą tų, kurie turėtų būti įtraukti į indeksą.

Iš visų problemos sprendimo būdų teisingiausias ir lengviausias „WordPress“ vartotojui yra įskiepis, kuris dviem paspaudimais paslėps puslapius nuo paieškos sistemų. Norėdami tai padaryti, tiesiog eikite į administratoriaus skyrių Clearfy Pro, tada skirtuke SEOįjungti parinktį Noindex puslapių skyrimui.

Be įskiepio Clearfy Pro, yra ir kitų, ne tokių patogių, būdų blokuoti puslapių puslapius iš robotų. Pažvelkime į populiariausius iš jų.

1 būdas: functions.php failas

Šis metodas apima specialaus PHP kodo pridėjimą prie aktyvaus temos failo.

Jei nežinote, kaip redaguoti functions.php, įskiepis jums padės.

Taigi, pačioje pabaigoje turite pridėti šias eilutes:

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

Dėl kodo, veikiančio puslapių puslapiuose (pradedant nuo antrojo), skyriuje , bus pateikta aukščiau pateikta eilutė:

2 būdas. Robots.txt failas

Be to, puslapių puslapiuose galite pridėti neindeksą naudodami specialų robots.txt failą, kuris yra jūsų svetainės šakniniame kataloge. Jame turite pridėti šią eilutę:

Neleisti: */puslapis/

Šis metodas yra panašus į ankstesnį ir duoda tą patį rezultatą.