Зарим WordPress категорийг хуудаснаас хас. WordPress-ийн нүүр хуудас, rss feed, залгаасгүйгээр категори, архиваас нийтлэл, категорийг хэрхэн хасах вэ

Нүүр хуудас, түүнчлэн категорийн хуудас, архив, хайлтын үр дүнд ихэвчлэн хуудасны навигаци (мөн хуудасжуулалт гэж нэрлэдэг) шаардлагатай байдаг. WordPress дээрх блогууд нь үл хамаарах зүйл биш бөгөөд мэдээллийн гаралтын үр дүнг хэд хэдэн хуудсанд хуваах үед хуудасны тэмдэглэгээг ашигладаг.

Өмнө нь энэ функцийг хэрэгжүүлэхийн тулд файлд байрладаг гуравдагч талын залгаасууд эсвэл тусгай функцуудыг ашигладаг байсан functions.php. Гэсэн хэдий ч WordPress 4.1 хувилбарыг гаргаснаар хуудасны функцийг CMS-ийн цөмд суулгасан бөгөөд одоо WordPress-ийн дотоод функцууд нь хуудасны навигацийг хэрэгжүүлэхэд хангалттай бөгөөд гуравдагч этгээдийн код эсвэл залгаасуудыг нэмэх шаардлагагүй болсон.

Би өмнө нь WordPress дээр TITLE шошготой холбоотой ижил төстэй сайжруулалтын талаар бичсэн - https://aboutwordpress.ru/post/wordpress-title/.

Хуудсууд гэж юу вэ

Хуудсууд нь мэдээллийг хуудас болгон хуваах явдал юм. Энэ ойлголт нь хуудасны доод, дээд эсвэл хажуу талд байрлах тоогоор тэмдэглэгдсэн хуудасны дараалсан дугаарлалт гэсэн үг юм.

WP-PageNavi - WordPress хуудасны залгаас

WordPress-ийн хамгийн алдартай хуудасны залгаас бол WP-PageNavi юм. Үнэнийг хэлэхэд, энэ нь хуудасны даалгаврыг маш сайн гүйцэтгэдэг тул бусад залгаасуудын талаар ярилцах, харьцуулах нь утгагүй юм.

WordPress хуудасны жагсаалт - WP-PageNavi залгаас

Залгаасгүйгээр WordPress хуудасны хуудас

Вэбсайт дээр залгаасгүй хуудаслахын тулд бид WordPress-ийн суулгасан функц the_posts_pagination()-ыг ашиглана. Шаардлагатай газарт бид дараах кодыг оруулах хэрэгтэй (ихэвчлэн эдгээр нь файлууд юм index.php, категори.phpгэх мэт):

the_posts_pagination() функцын үр дүн нь ойролцоогоор дараах HTML код байх болно:

Н2 гарчгийг хуудаснаас хасаж байна

"Post Navigation" H2 гарчиг нь таны анхаарлыг шууд татдаг. Ихэнх тохиолдолд сайт дээр ямар ч газар байдаггүй. Үүнээс салахын тулд дараах кодыг файлд нэмнэ үү functions.php:

/* Хуудсаас Н2 устгах */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); функц my_navigation_template($template, $class)(буцах "

"; }

Хуудсуудын хуудсыг тохируулж байна

Анхдагч байдлаар, the_posts_pagination() нь эхний болон сүүлчийн хуудас, мөн одоогийн байгаа нэг хуудсыг харуулдаг. Бусад бүх зүйлийг эллипсээр сольсон. Энэ зан үйлийг аргумент ашиглан өөрчилж болно:

  • show_all - бүх хуудсыг харуулах
  • end_size - жагсаалтын эхэн ба төгсгөлд байгаа хуудасны тоо
  • mid_size - одоогийн хуудасны зүүн ба баруун талд байгаа хуудасны тоо

Жишээ нь иймэрхүү:

2, "төгсгөлийн_хэмжээ" => 2,)); ?>

CSS хуудасны хэв маяг

Хуудасны дугаар (дээрх: 1% 2%; хайрцаг-сүүдэр: 0 0 10px #ccc; захын зай: 0 1% 0 0; дэвсгэр: #fff; хүрээ-радиус: 3px; )

Эдгээр загвартай хуудасны хуудасны холбоосууд дараах байдлаар харагдах болно.

…үүнийг хэрхэн хийх вэ? ... ерөнхийдөө хэцүү биш. Хэрэв даалгавар бол нэг эсвэл өөр ангиллыг харуулахыг хориглох явдал юм бол бид хэдхэн минутын дотор энэ дур сонирхлыг шийдэх болно.

Гэсэн хэдий ч барих зүйл бий -

... виджетэд категорийг харуулахыг хориглох асуудлыг шийдэж, үүнтэй холбоотой гунигтай холболт үүсдэг, тухайлбал асуулт: категорийн дэлгэцийг шаардлагатай бөгөөд логик дарааллаар хэрхэн тохируулах вэ, гэхдээ эмх замбараагүй биш!?


...чи энэ талаар сайн бодох хэрэгтэй. ...мөн хэрэгцээгээ тодорхой тодорхойлох. Гэхдээ хамгийн түрүүнд хийх зүйл: эцэст нь би ангиллыг шүүх төгс, ухаалаг шийдлийг танд өгөх болно ...

Кодын хялбар байдлыг ашиглах Блогын шаардлагатай/шаардлагагүй контентыг хориглох/зөвшөөрлийг хэрэгжүүлэхдээ өөр нэг "гайхшрал"-тай тулгарахгүйн тулд сайтаа хөгжүүлэх хэтийн төлөвийг анхаарч үзэх нь зүйтэй. орших уу, эс орших ууирээдүйд блогийг дахин бүтээх - файлуудыг засварлах эсвэл залгаасуудыг солих замаар.

Эцсийн эцэст, үргэлж өөр сонголт байдаг: залгаас ашиглах уу (тэдгээрийн тоо "...шаг шиг ..." үргэлж сайн байдаггүй), эсвэл функцийн файлд код бичих - f unctions.php (муу биш, гэхдээ хоёрдмол утгагүйгээр асуудлыг шийдэж чадахгүй)!?

Бодлоо цэгцэл!..

Би бодлогогүй блог хөтлөх техникийн дутагдалтай байдгийг харуулсан бөгөөд одоо би логик шийдлийн боломжит аргуудыг санал болгож байна.

Хэрэв та ямар ч шинэ сайтын гэдсэнд анхдагчаар байдаг WordPress виджетийн тодорхой ангиллыг нуух шаардлагатай бол энэ нь энгийн зүйл юм.

Бид functions.php-ийн тухай ярьж байсан файлыг нээгээд эцсийн декодчилохдоо хаа нэгтээ) тагийн өмнө нээнэ үү?> бид энэ зураасан кодтой шүүлтүүрийг бичнэ.

// RUBRIC EXCLUSION CODE эхлүүлэх функц ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //РУБРИКИЙГ ОРУУЛАХ КОД төгсгөл

39 гэсэн тоо нь тухайн ангиллын id-ыг заадаг бөгөөд энэ нь сайт дээр хэрэггүй бааз шиг шүүгддэг.

Та таслалаар тусгаарласан хэд хэдэн зүйлийг зааж өгч болно.

...Болоо, нэг асуулт хаалттай.

виджет дээрх дэд ангиллын дэлгэцийг хэрхэн нуух

Шийдэл нь яг доор байгаа кодын хувилбарт байгаа бөгөөд энэ нь зарим дэд категоруудын нэрийг харуулахыг хориглодог/зөвшөөрөгдсөн (хүүхдийн блог нийтлэл).

// заасан ID=7 эхлэх функц бүхий категорийн цорын ганц дэд категорийн гаралтын код ext_widget_categories($args)( $args["child_of"] = 7; return $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //тогтоосон ID=7 төгсгөлтэй категорийн цорын ганц дэд категориудын гаралтын код

Эдгээр кодын аргументуудыг нэгтгэж болно.

За ингээд яваарай!! Бид таны бүх ангиллын "Ангилал" виджет дээрх DISPLAY хяналтыг бүрэн хянах боломжтой болсон.

...гэхдээ - Гэсэн хэдий ч бид хэлж байна !! Хэсэг хугацааны дараа вэбсайтын хуудсыг нээсний дараа дахин нэг дутагдал илрэх нь олонтаа тохиолддог: хажуугийн самбарын виджет дэх гарчгууд нь логик дарааллаар байршдаггүй (санамсаргүй байдлаар) - мэргэжлийн ур чадварыг хөгжүүлэх хурдацтай байдал гэдгийг та мэднэ.

Энэ тохиолдолд та хэд хэдэн сайхан сонголтуудаас сонгох хэрэгтэй:

WordPress залгаасуудын агуулах руу орцгооё - зам: консол/plugins/ залгаас нэмэх/...суулгах/идэвхжүүлэх... ийм гайхамшиг Ангилал, ангилал зүйн нэр томъёо захиалга.

Залгаасны үнийн саналыг техникийн орчуулга:
Ангилал, ангилал зүйн бүх нэр томьёо (захиалгат шатлалаар) болон хүүхдийн нэр томъёог чирэх, буулгах эрэмбэлэх боломжтой Javascript боломжуудыг ашиглан эрэмблээрэй.
Энэхүү залгаас нь төөрөгдүүлсэн тохиргоогүй: та консолын зүүн талд байгаа "бичлэгүүд" дээр хулганаа аваачиж, "Таксономийн захиалга" гэсэн зүйлийг хараарай...

Бүх зүйл хачирхалтай энгийн: самбарыг чирэх замаар одоо байгаа гарчгийн нэрийг харуулах оновчтой дарааллыг тохируулна уу.

"Plugin" аргын сул талууд нь дараахь зүйлийг агуулдаг: та тодорхой ангиллыг харуулахыг хориглох боломжгүй ...

Тиймээс та дээр санал болгосон код эсвэл доор үзүүлсэн залгаасыг ашиглах хэрэгтэй болно...

Бид NS Category Widget залгаасыг ашиглан зарим ангиллыг харуулахыг хориглодог

... дахин WordPress хадгаламж руу орж NS ангиллын виджетийн залгуурыг татаж авцгаая - энэ "үсрэлт" нь одоо байгаа "Ангилал" виджетээс гадна өөр, гэхдээ илүү гоёмсог тохиргоог өгөх болно: жишээлбэл - ердийн виджетийг устгах эсвэл "идэвхгүй" хэсэгт нуугдаж, контентыг удирдахад зориулсан энэхүү нэмэлт сонголтыг тохируулна уу: харуулах/хаах.

Тохиргоонууд руу нь очоод өөрийн дүрмээ тохируулаарай: категорийн id, шатлалын ач холбогдол болон ижил төстэй тохируулга... Энэ бол энгийн!

Энэхүү залгаас нь шаардлагатай түвшний хуудсуудад олон нэгж виджетийг ашиглах боломжийг олгодог бөгөөд тэдгээрийн тохиргоо нь стандарт "ангилал" -аас ялгаатай нь дор хаяж хэдэн арван харуулах боломжтой боловч "дээд" кодын тохиргоог багтаасан болно. хүн бүрт хамаарах болно: энэ бол нийтлэлийн эхэнд тайлбарласан стандарт "категорийн" виджет болон кодыг холбох чадварын сул тал юм ... Хэрэв та ангиллын виджетүүдэд хэд хэдэн сонголтыг ашиглахаар төлөвлөж байгаа бол NS Category Widget залгаасыг татаж авах.

ГЭХДЭЭ! Дэвшилтэт ангилалд ангиллыг эрэмбэлэх илүү энгийн бөгөөд нарийн дараалал байдаггүй - энэ бол түүний сул тал юм. Ийм төөрөгдөл!

Шийдвэр таных...

... хэрэв та энэ нийтлэлээс өөртөө хэрэгтэй зүйл харсан бол гайхалтай!

Сайн уу залуусаа!

Өнөөдөр WordPress сайтын үндсэн хуудаснаас нийтлэлүүдийг хэрхэн хасах талаар танд үзүүлэх техникийн нийтлэл байх болно.

Та зөвхөн тодорхой оруулгуудыг бус бүх категорийг хэрхэн хасах талаар сурах болно. Би залгаастай болон залгаасгүй олон сонголтыг харуулах болно. Ерөнхийдөө бүх зүйл урьдын адил байна.

Ямар тохиолдолд хэрэглэх ёстой вэ?

Зарим нийтлэлийг, өөрөөр хэлбэл тэдний зарлалуудыг үндсэн хуудаснаас хасах хэрэгцээ нь ихэвчлэн хувийн блогууд дээр байдаг тул байнгын үзэгчдэд зориулсан том, өндөр чанартай нийтлэлээс гадна SEO-ийг оновчтой болгосон энгийн нийтлэлүүдээр нөөцийг дүүргэх нь зүйтэй. .

Блогын гишүүдэд ийм нийтлэл хэрэгтэй байх магадлал багатай, учир нь тэд энэ бүгдийг мэддэг. Үндсэн хуудсыг шаардлагагүй зар сурталчилгаагаар дүүргэхгүйн тулд харуулахгүй байх нь дээр. Үүний зэрэгцээ хайлтын системээс эх сурвалжид шинэ үзэгчдийг татахын тулд тэдгээрийг сайтад нэмэх хэрэгтэй. Тэдгээрийг бас харуулах шаардлагатай боловч үүнийг хэсэг, архивын хуудсууд дээр хийх ёстой бөгөөд ингэснээр шинээр ирсэн хүмүүс сайтын хэсгүүдээр дамжуулан навигаци ашиглан олох боломжтой болно.

Жишээлбэл, та энэ нийтлэлийг миний блогын үндсэн хуудаснаас тэдгээрийн аль ч хуудасны хуудаснаас (хуудасны навигаци) олохгүй. Үүний зэрэгцээ, нийтлэлийн зарлал нь "Ашигтай" хэсэг болон "Бүх нийтлэл" сайтын газрын зургийн хуудсан дээр харагдаж байна.

Pluginгүйгээр

Залгаасгүй аргыг үргэлж илүүд үздэг боловч энэ тохиолдолд энэ нь тэргүүлэх ач холбогдолгүй тул зарим нийтлэлийг оруулахгүйн тулд та суулгасан загвар файлдаа байнга өөрчлөлт оруулах шаардлагатай болно. Гэсэн хэдий ч би ийм шийдлийг хэрэгжүүлэх хэд хэдэн өөр хувилбаруудыг харуулах болно, учир нь энэ нь танд тохирсон байх магадлалтай.

Доор би functions.php загварын файлд байршуулах ёстой янз бүрийн кодын хэсгүүдийг өгөх болно.

ID-аар тодорхой бүртгэлийг оруулаагүй болно

Энэ сонголтод олонх нь янз бүрийн залгаасуудын тусламжтайгаар хийдэг шиг үндсэн хуудсан дээрх харагдацаас бүх категорийг нуух шаардлагагүй болно. Таны хийх ёстой зүйл бол кодонд шаардлагатай бүртгэлүүдийн ID-г оруулах явдал юм.

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

хэрэв ($query -> is_home)

($query -> // нийтлэлийн дугаар

$ query буцаана; )

3-р мөрөнд 1 ба 2 дугаар нь нүүр хуудсанд харагдахгүй ID бүртгэл юм. Та үүнийг таслалаар тусгаарлаж бичих хэрэгтэй.

Та редактороор дамжуулан үзэхдээ хөтчийн хаягийн мөрөнд нийтлэл, хуудас, категорийн ID-г олж мэдэх болно.

Дараагийн сонголт нь RSS тэжээлээс оруулгуудыг хасах боломжийг танд олгоно.

RSS хангамжаас хассан

Хэрэв та 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","post-г хасах");

exclude_post функц ($query) (

хэрэв ($query -> is_feed)

( $query -> set ( "post__not_in" , массив ( 1 , 2 ) ; ) // нийтлэлийн дугаар

$ query буцаана; )

Нэмэх_шүүлтүүр ("pre_get_posts" , "хасах_шууд") ;

Энэ тохиолдолд болон бусад бүх тохиолдолд бүртгэл нэмэх нь ижил аргаар явагдана.

Ангилал, архиваас хассан

Ангиллын хуудаснаас нийтлэл оруулахгүйн тулд та дараах кодыг ашиглах хэрэгтэй.

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","post-г хасах");

exclude_post функц ($query) (

хэрэв ($query -> is_category)

( $query -> set ( "post__not_in" , массив ( 1 , 2 ) ; ) // нийтлэлийн дугаар

$ query буцаана; )

Нэмэх_шүүлтүүр ("pre_get_posts" , "хасах_шууд") ;

Энэ кодыг архиваас үл хамаарах зүйл хэрэглэхийн тулд өөрчилж болно. 2-р байранд is_category функцийг is_archive гэж солих шаардлагатай.

Хайлтын хуудаснаас хассан

Зарим бичлэгийг зочдод сайтын хайлтыг ашиглах үед харуулахгүй байх тохиолдолд энэ сонголт бас шаардлагатай байж болно. Жишээлбэл, эдгээр нь сайтын сэдэвтэй холбоотой контент агуулаагүй янз бүрийн мэдээний нийтлэл байж болно.

function exclude_post($query) ( if ($query->is_search) ($query->set("post__not_in", массив(1, 2));) // post id буцаана $query; ) add_filter("pre_get_posts", "нийтлэлийг хасах");

exclude_post функц ($query) (

хэрэв ($query -> is_search)

( $query -> set ( "post__not_in" , массив ( 1 , 2 ) ; ) // нийтлэлийн дугаар

$ query буцаана; )

Нэмэх_шүүлтүүр ("pre_get_posts" , "хасах_шууд") ;

Хэд хэдэн сонголтыг хослуулах

Та дээрх бүх сонголтыг нэгтгэж, бүх төрлийн хуудсуудаас нэг дор эсвэл шаардлагатай зүйлээс бүртгэлийг хасч болно.

Хэрэв та бүх кодыг сайтар харвал 2-р мөрөнд хуудасны төрлүүдийн параметрийг тэдгээрт нийтлэлийн зар харуулахыг идэвхгүй болгох нөхцөлийг харж болно.

  • хайлт
  • ангилал
  • тэжээл юм
  • гэртээ байна

Та бүх сонголтыг нэгтгэж, нийтлэлүүдийг хаа сайгүй эсвэл зарим хуудаснаас хасах боломжтой. Жишээлбэл, категори болон үндсэн хэсгээс хасах тохиолдолд та дараах кодыг functions.php файлд байрлуулах хэрэгтэй.

function exclude_post($query) ( if ($query->is_category || ($query->is_home)) ($query->set("post__not_in", array(1, 2));) // post id ) буцах $query; ) add_filter("pre_get_posts", "idish_post");

exclude_post функц ($query) (

хэрэв ($query -> is_category || ($query -> is_home ))

( $query -> set ( "post__not_in" , массив ( 1 , 2 ) ; ) // нийтлэлийн дугаар

$ query буцаана; )

Нэмэх_шүүлтүүр ("pre_get_posts" , "хасах_шууд") ;

Нөхцөлтэй 2-р мөрөнд (хэрэв бол) ангилал (категори) эсвэл гэрийн (гэрийн_байна) параметрүүдийг агуулна.

Дараагийн параметр бүр нь өмнөх параметрийн дотор 2 босоо баараар бичигдсэн бөгөөд өөрийн хаалтанд байрлана гэдгийг анхаарна уу. Өөрөөр хэлбэл, хэрэв та өмнөх кодыг харвал үндсэн хуудасны хоёр дахь нөхцөл нь өөрийн хаалтанд байгаа бөгөөд категориудын эхний нөхцөлийг ороосон ерөнхий хаалт дотор байгааг харах болно.

Хэрэв архивын хуудсууд гэх мэт гуравдахь нөхцөлийг нэмж оруулах шаардлагатай бол түүнийг үндсэн нөхцөлтэй (is_home) хаалтанд нэмж, 2 босоо шугамаар бичих нь зүйтэй. Практик дээр энэ нь иймэрхүү харагдаж байна.

function exclude_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive)))) ($query->set("post__not_in", массив(1, 2)) );) // нийтлэлийн дугаарыг буцаана $query; ) add_filter("pre_get_posts","exclude_post");

exclude_post функц ($query) (

хэрэв ($query -> is_category || ($query -> is_home || ($query -> is_archive ) ) )

( $query -> set ( "post__not_in" , массив ( 1 , 2 ) ; ) // нийтлэлийн дугаар

$ query буцаана; )

Нэмэх_шүүлтүүр ("pre_get_posts" , "хасах_шууд") ;

Үүнтэй ижил зарчмыг ашиглан бусад төрлийн хуудсыг нэмж оруулахгүй.

Бичлэгийг хасах дараагийн сонголт бол гарчиг (ангиллыг) бүхэлд нь хасах явдал юм.

Бүх ангиллыг оруулаагүй болно

Энэ нь залхуу хүмүүст маш тохиромжтой, учир нь та зүгээр л нэг төрлийн категори үүсгэж, тодорхой төрлийн хуудсан дээр харуулах шаардлагагүй бүх нийтлэлийг тэнд нэмж оруулах боломжтой.

Кодын бүтэц нь бараг ижил байна. Энэ нь зөвхөн нийтлэл эсвэл категорийг хасахыг заасан параметрийг өөрчилдөг. Өмнө нь хэлэлцсэн тохиолдлуудад сүүлийн мөрийг exclude_post гэж тохируулсан. Шинэ кодонд үүнийг exclude_cat гэж солих ёстой.

function exclude_cat($query) ( if ($query->is_home) ($query->set("cat","-1, -2, -3");) // категорийн ID буцаах $query; ) add_filter( "Posts_pre_get","cat_exclude");

exclude_cat функц ($query) (

хэрэв ($query -> is_home)

( $query -> set ("cat" , "-1, -2, -3" ); ) // категорийн id

$ query буцаана; )

нэмэх_шүүлт ("pre_get_posts" , "exclude_cat" );

Таны харж байгаагаар сүүлийн мөрөнд өөрчлөлт орсон ба 3-р мөрөнд категорийн ID-г уншдаг параметр өөрчлөгдсөн байна. Энэ тохиолдолд ID-г зураасаар бичнэ, гэхдээ таслалаар бичнэ.

Хуудасны төрлүүдийн нөхцөлийг бүрдүүлэх зарчим нь өмнө нь авч үзсэн сонголтуудтай төстэй бөгөөд би тодорхой нийтлэлүүдийг оруулахгүй байх жишээг үзүүлсэн. Ангилал, хайлт, архив эсвэл RSS тэжээлд шаардлагатай параметрүүдийг нэмж, 2-р мөрийг өөрчлөх нь зүйтэй.

Тиймээс бид залгаасгүй аргуудыг авч үзсэн. Шошгуудын тухай оруулгуудыг оруулахгүй байх сонголт байдаг ч одоо хаягууд нь нөөцийн 99% -д тийм ч их хамааралтай байхаа больсон. Хэрэв танд ийм мэдээлэл хэрэгтэй бол энэ тухай коммент хэсэгт бичнэ үү. Би тэр даруй бүх зүйлийг нэмнэ.

Plugins

Plugins нь энэ асуудалд илүү уян хатан шийдэл юм, учир нь тодорхой оруулгуудыг оруулахгүй байх үед загвар файлыг засварлах шаардлагагүй болно. Хүссэн нийтлэлээ нийтлэхдээ эсвэл дараа нь засварлагч дээр тэмдэглэгээ хийх нь зүйтэй.

Хэрэв харуулах шаардлагагүй нийтлэлд зориулагдсан тусгай ангиллыг хасах нь зүйтэй бол дээр дурдсан кодуудын аль нэгийг ашиглах нь дээр.

Зүгээр л залгаасыг хас

Та залгаасыг хайлт ашиглан WordPress консолоор дамжуулан татаж авах боломжтой албан ёсны WordPress вэбсайт.

Идэвхжүүлсний дараа энэ нь аль хэдийн ажиллах бөгөөд та үүнийг тохируулах шаардлагагүй болно. Гэсэн хэдий ч би түүний функцуудтай ажиллахад илүү таатай байхын тулд зарим өөрчлөлтийг хийхийг зөвлөж байна.

Суулгаж, идэвхжүүлсний дараа бид нэн даруй түүний тохиргоо руу очно.

Эхэндээ, залгаасын тохиргоонд бүх зүйлийг тохируулсан бөгөөд тэмдэглэгээг идэвхжүүлсэн үед (бид үүнийг доор авч үзэх болно) шаардлагатай хуудсуудыг (нийтлэл, категори, хуудас) "үзүүлэхийг зөвшөөрсөн" гэж тэмдэглэх болно. Тиймээс хуудасны төрөл бүрийн хувьд бүх зүйл харагдахын тулд бүх нүдийг шалгах шаардлагатай болно.

Сонголтыг идэвхжүүлснээр (жишээ нь, үндсэн хуудсанд) нийтлэл эсвэл өөр зүйлийг харуулахыг хориглосон гэж тэмдэглэвэл энэ сонголтыг хийх нь илүү логик байх болно.

Тохиргоонд янз бүрийн төрлийн хуудасны тохиргоог тохируулах зориулалттай 3 таб байна.

  • Таксономи (таксономи) - WordPress админ самбарын хэсгүүдэд залгаасын ажиллах тохиргоо: ангилал ба шошго;
  • Нийтлэлийн төрлүүд - нийтлэлийн төрлүүдийн хувьд: нийтлэл, хуудас;
  • Хэрэглэгчид - хэрэглэгчдэд зориулсан тохиргоо.

Одоо би эхний таб (таксономи) тохиргооны дэлгэцийн агшинг өгч, тохируулах ёстой параметрүүдийг тайлбарлах болно.

  • "Идэвхтэй" тохиргооны эхний хэсэгт та "Идэвхтэй" хайрцгийг тохируулах хэрэгтэй бөгөөд ингэснээр залгаас нь категори эсвэл бусад төрлийн хуудсуудын дэлгэцийг идэвхгүй болгоход шаардлагатай хайрцгийг нэмж оруулдаг;
  • Хоёрдахь блок дээр бид "Оруулах" сонголтын эсрэг бүх параметрүүдийг тохируулсан. Энэ нь хуудасны төрөл бүрийн засварлагч дээр тэмдэглэгээг идэвхжүүлсэн тохиолдолд энэ нь дэлгэцээс нуугдаж, шинэ нийтлэлүүд анхдагч байдлаар харагдах болно гэсэн үг юм. Хэрэв та "Зөвхөн оруулах" параметрийг тохируулсан бол тэмдэглэгээг сонгосноор оруулгууд дэлгэцэнд нээгдэх бөгөөд шинэ нийтлэлүүд анхдагчаар нуугдах болно. Хэрэв "Зөвхөн оруулах" гэсэн хоёрдахь сонголтыг сонгосон бол залгаасыг суулгасны дараа бүх оруулгууд нуугдаж, "Хасах" сонголтыг тохируулах шаардлагатай болно;
  • "Харах/Нуух" хэсэгт дэлгэцийг идэвхгүй болгох эсвэл идэвхжүүлэхийн тулд хуудасны төрөл бүрт шаардлагатай тэмдэглэгээг харуулахын тулд "Show" параметрийг тохируулна уу.

Зүгээр л хасах залгаасын тохиргооны үлдсэн 2 таб дээр ижил параметрүүдийг оруулах ёстой.

Жишээлбэл, "Нийтлэлийн төрлүүд" табын дэлгэцийн агшин энд байна.

Мэдээжийн хэрэг, та зарим функцийн ажиллагааг идэвхгүй болгож болно, жишээлбэл, эхний таб дээр бид бүх категорийн бүх нийтлэлийг хасахгүй бол категорийн залгаасыг идэвхгүй болгож болно.

Одоо залгаасын ажлын талаар. Шаардлагатай параметрүүдийг тохируулсны дараа та нийтлэлийн төрөл тус бүрийн засварлагч руу очиж, тэдгээрийн дэлгэцийг хасахыг хүссэн хуудсуудын хажууд чагт тэмдэг тавьж болно.

Жишээлбэл, нийтлэлийн тохиргоог тохируулахын тулд та шаардлагатай нийтлэлийн редактор руу эсвэл бүх нийтлэлийн зүйл рүү очиж болно. Тэнд ч, тэнд ч шаардлагатай шалгах хайрцагнууд байх болно. Засварлагчийн баруун баганад нийтлэл, хуудсыг нуух 4 нүдийг агуулсан "Зүгээр л хасах" блок байх болно.

  • Архив - ангилал ба архив;
  • Мэдээлэл - RSS тэжээл;
  • Урд/Гэр - үндсэн;
  • Хайлт - хайлт.

Шаардлагатай хайрцгийг шалгаснаар та тодорхой төрлийн хуудаснаас нийтлэлээ нууж болно.

WordPress админ самбарт "Бүх нийтлэлүүд" гэсэн материал бүрийн эсрэг талд "Зөвхөн харуулахгүй" гэсэн шинэ баганад эдгээр 4 шалгах хайрцаг байх болно. Рубрикийн хувьд ч мөн адил. Бүх шалгах нүдтэй шинэ багана нэмэгдэх болно.


Энэ нь энэ залгаасын бүх зүйл юм. Үүнийг суулгаснаар та загвар файлд саад учруулахгүйгээр тодорхой нийтлэл эсвэл бүх категорийн дэлгэцийн параметрүүдийг маш хурдан бөгөөд уян хатан байдлаар өөрчлөх боломжтой.

Ангилал залгаасыг хас

Энэхүү залгаас нь зөвхөн үндсэн хуудас болон RSS хангамжаас бүх категорийг нуух зорилготой юм. Энэ сонголт нь уян хатан байдал шаарддаггүй тул (би нэг удаа категори үүсгэж, тэнд нийтлэл нэмсэн) код ашиглан бүхэл бүтэн ангиллыг хасахыг зөвлөж байна (2-р зүйлийг үзнэ үү).

Та доорх товчлуурыг ашиглан залгаасыг татаж авах боломжтой.

Үүнийг суулгасны дараа тохиргоо руу орж (Тохиргоо - Ангилалыг хасах) үндсэн хуудаснаас хасахын тулд шаардлагатай категорийг сонгоно уу.

Ангилал дахь бүх оруулгыг оруулахгүй байх нь нийтлэг сонголт юм. Гэхдээ энэ сайт нь хайлтын урсгалыг татахын тулд маш олон нийтлэл нийтлэх ёстой бөгөөд тэд бүгд ижил сэдвээр өөр өөр асуудлуудтай тулгардаг тул би үүний сул талыг харж байна.

Гэхдээ янз бүрийн материалыг нэг ангилалд оруулах нь тийм ч сайн биш юм.

Энэ сонголтыг вэбсайт дээрх холбоосыг идэвхтэй зарах үед ихэвчлэн ашигладаг. Эзэмшигч нь хэсэг үүсгэж, борлуулалтын холбоос бүхий бүх нийтлэлийг нийтэлдэг. Энэ нь бас тийм ч сайн биш юм, учир нь одоо вэбмастерууд сайтын үндсэн хэсгүүдийн аль нэгэнд холбоос байрлуулахыг шаарддаг бөгөөд ингэснээр дор хаяж бага зэрэг товшиж, сурталчилгааны явцад нөлөө үзүүлдэг.

Ингээд л болоо, залуус аа, энэ тэмдэглэл дээр би энэхүү дэлгэрэнгүй гарын авлагыг дуусгаж байна, хэрэв та энэ нийтлэлийг зөв газартаа ирвэл танд хэрэгтэй байх болно. Таны хувьд бүх зүйл сайхан болно гэж найдаж байна.

Танд сайхан сэтгэл, сайхан өдрийг хүсэн ерөөе. Баяртай.

Хүндэтгэсэн, Константин Хмелев!

Өнөөдөр та WordPress сайтын үндсэн хуудаснаас ангиллыг залгаас ашиглахгүйгээр гараар хэрхэн хасаж болох тухай нийтлэл юм.

Таны блог сайтын үндсэн хуудсан дээрх тодорхой категорийн нийтлэлийг хасах хэд хэдэн арга бий. Миний бодлоор хамгийн хялбар аргуудын нэг бол файлд жижиг код нэмэх явдал юм functions.php. Энэхүү код нь бусад сэдэвчилсэн файлуудыг өөрчлөхөөс биднийг аврах нэг төрлийн шүүлтүүр байх болно. Энэ аргыг ашигласнаар та файлд бичлэг гаргах мөчлөгийг дахин боловсруулахад цаг алдах шаардлагагүй болно index.phpдамжуулан query_posts.

Тиймээс, жишээг харцгаая:

1) Бид таних дугаар нь 4, өөрөөр хэлбэл ID = 4 гэсэн категорийн оруулгуудыг устгах хэрэгтэй гэж бодъё. Өөрөөр хэлбэл, үндсэн хуудаснаас ID нь 4 гэсэн ангилалд багтсан нийтлэлийг хасах хэрэгтэй.

2) Бид даалгавраа шийдсэн, хэрэгжүүлж эхэлцгээе - үүний тулд бид тэдгээрийг файлд нэмнэ functions.phpдараах кодын хэсэг:

RemoveFromHome($query) функц (хэрэв ($query->is_home) ($query->)

Бид өөрчилсөн файлыг хадгалдаг functions.phpүндсэн хуудсан дээр ID=4 ангиллын бичлэг байхгүй байгааг бид харж байна.

WordPress-ийн логикийн үүднээс авч үзвэл үндсэн хуудас нь хуудасны навигациас бүрдсэн бусад хуудас юм. Тиймээс бид 2, 3, 4-р хуудасны ID=4 гэсэн хасагдсан ангиллын нийтлэлүүдийг харахгүй.

Хэрэв энэ сонголт танд тохирохгүй бол дээрх кодыг бага зэрэг өөрчилж болно:

RemoveFromHome($query) функц ( if ($query->is_home && !(is_paged())) ($query->set("cat","-5");) буцаах $query; ) add_filter("pre_get_posts" ,"RemoveFromHome");

Бид хадгалж байгаа бөгөөд одоо үндсэн хуудаснаас бусад хуудас бүрт ID=4-тэй категорийн оруулгууд хэвийн харагдах болно.

Хайлтын үр дүнгээс категорийн оруулгуудыг оруулахгүй

Хэрэв та хайлтын үр дүнгийн хуудаснаас категорийн оруулгуудыг хасах шаардлагатай бол та зүгээр л өөрчлөх хэрэгтэй гэртээ байнадээр хайлт.

Хэд хэдэн категорийн оруулгуудыг хасахын тулд дээрх кодуудад эдгээр ангиллын ID-г таслалаар тусгаарлах шаардлагатай. ID нь 3,7,8,9 гэсэн ангиллыг хасах хэрэгтэй гэж бодъё. Дараа нь код дараах өөрчлөлтүүдийг хийнэ.

RemoveFromFeed($query) функц ( if ($query->is_feed) ($query->set("cat","-3, -7, -8, -9");) буцаах $query; ) add_filter(" pre_get_posts","removeFromFeed");

RSS хангамжаас категорийн оруулгуудыг оруулахгүй

Хэрэв та RSS хангамжаас тодорхой ангиллын нийтлэлийг хасах шаардлагатай бол яах ёстой вэ? Та үүнийг маш энгийнээр хийж чадна - доорх кодыг ашиглана уу:

RemoveFromFeed($query) функц (хэрэв ($query->is_feed) ($query->set("cat","-4");) return $query; ) add_filter("pre_get_posts","removeFromFeed");

Бид өөрчлөлтүүдийг хадгалаад, тэжээлд хэрэггүй категорийн нийтлэл байхгүй байгааг харж байна.

RSS feed болон үндсэн хуудаснаас ангиллын оруулгуудыг оруулахгүй

Хэрэв та гэнэт тодорхой категорийн нийтлэлүүд үндсэн хуудас болон тэжээл дээр харагдахгүй байгаа эсэхийг шалгах шаардлагатай бол та дараах кодыг ашиглах хэрэгтэй.

RemoveCat($query) функц (хэрэв ($query->is_feed || ($query->is_home && !(is_paged()))) ($query->set("cat","-3,-7") ;) $ query буцаана; ) add_filter("pre_get_posts", "removeCat");

Энэ тохиолдолд ID нь 3-тай категорийн оруулгууд үндсэн хуудас болон RSS feed дээр харагдахгүй, харин бусад хуудсыг нээх үед харагдах болно.

Файлын өөрчлөлт functions.phpхаана ч оруулах боломжтой, гэхдээ өөр функцийн кодыг хөндөхгүйгээр. Хамгийн хялбар арга бол файлын төгсгөлд код оруулах явдал юм.

Хуудсууд нь хуудасны давхардал үүсгэдэг гэдгийг сайн мэддэг. Энэ нь эргээд хайлтын үр дүнд ийм сайт "нухаж" болзошгүй. Энэ тохиолдолд энэ байдлаас гарах цорын ганц арга зам бол хайлтын роботууд сайтын аль ч хэсэгт хуудасны тэмдэглэгээ байгааг "хардаггүй" эсэхийг шалгах явдал юм.

Хуудсуудыг индексжүүлэхээс хэрхэн хаах вэ?

Энэ асуудлыг шийдэх нэг арга бол хуудасны хуудсан дээр noindex удирдамж нэмэх явдал юм. Эцсийн эцэст тэд дараах байдлаар харагдах ёстой.

noindex нь хайлтын системээр индексжүүлэхэд тохиромжгүй холбоосуудыг тодорхойлоход ашигладаг тусгай заавар юм. Хайлтын робот түүн дээр бүдрэх үед энэ хуудсыг анхааралдаа авах шаардлагагүй гэдгийг шууд "ойлгох" болно. Тэр зүгээр л алгасах болно, тиймээс үүнийг индекст оруулах ёстой хүмүүсийн жагсаалтад оруулахгүй.

Асуудлыг шийдэх бүх арга замуудын дотроос WordPress хэрэглэгчдэд хамгийн зөв бөгөөд хамгийн хялбар нь залгаас бөгөөд хайлтын системээс хуудасны жагсаалтыг хоёр товшилтоор нуух болно. Үүнийг хийхийн тулд админ хэсэг рүү очно уу Clearfy Pro, дараа нь таб дээр SEOидэвхжүүлэх сонголт Хуудсуудыг ялгах Noindex.

Plugin-ээс гадна Clearfy Pro, роботуудаас хуудаслахыг хаах өөр, тохиромжгүй аргууд байдаг. Тэдгээрээс хамгийн алдартайг нь авч үзье.

Арга 1: functions.php файл

Энэ арга нь таны идэвхтэй сэдэв файлд тусгай PHP код нэмэх явдал юм.

Хэрэв та functions.php-г хэрхэн засахаа мэдэхгүй байгаа бол залгаас танд туслах болно.

Тиймээс, хамгийн төгсгөлд та дараах мөрүүдийг нэмэх хэрэгтэй.

Функц wpschool_noindex_pagination() ( if(is_paged()) echo " "; ); add_action("wp_head", "wpschool_noindex_pagination");

Кодын үр дүнд хуудасны хуудаснууд дээр ажиллаж байгаа (хоёр дахь хэсгээс эхлэн), хэсэгт , дээрх мөр байх болно:

Арга 2. Robots.txt файл

Та мөн өөрийн сайтын үндсэн директорт байрлах тусгай robots.txt файлаар дамжуулан хуудасны хуудасны noindex-г нэмж болно. Үүнд та дараах мөрийг нэмэх хэрэгтэй.

Зөвшөөрөхгүй: */page/

Энэ арга нь өмнөхтэй төстэй бөгөөд ижил үр дүнг өгдөг.