Bukas
Isara

Paano alisin (i-disable) ang mga komento sa WordPress. Paano ibukod ang mga post at kategorya mula sa pangunahing pahina ng WordPress, rss feed, mga kategorya at mga archive nang walang mga plugin Paano itago ang mga post mula sa pangunahing pahina

Kamusta mga kaibigan, ang post ngayon ay isang maikling buod ng ilang mga kaganapan mula sa buhay ng Internet ng blog, at magkakaroon din ng isang kapaki-pakinabang na hack sa dulo ng artikulo.

Ang pinakahihintay na pag-update ng PageRank mula sa Google

Alam na ng maraming tao na noong isang araw ay na-update ng Google ang PageRank pagkatapos ng napakahabang panahon, at natanggap ng aking blog ang una nito. Hindi malamang na ito ay magbibigay sa akin ng anumang bagay, ngunit ito ay maganda pa rin)

Ang nakakatawa, may isa pa akong site, bata pa at halos walang laman - 20 articles lang ang nasa index. Ang trapiko ay humigit-kumulang 20-30 tao bawat araw, walang pabalik, walang komento. In short, I didn’t promote it at all, pinupunan ko lang unti-unti. Kaya nakatanggap siya ng PR 2, kung saan hindi ko pa rin maintindihan ang lohika =)

Ipagyabang kung sino pa ang PR ng nadagdagan (bumaba) :)

ang site ay napapailalim sa isang pag-atake ng spam

Sa nakaraang linggo, ang aking blog ay nasa ilalim ng napakalaking pag-atake ng spam - 700-800 spam na komento ay nagmumula sa iba't ibang mga IP araw-araw. Isang beses lang ako nagkaroon nito mga isang taon at kalahati na ang nakakaraan at mabilis itong natapos, ngunit ngayon ay may humila sa...

Na-on ko na si Acismet, kaya wag na kayong magtaka kung biglang hindi lumabas sa site ang mga comment mo, handa itong paranoid na i-brand lahat bilang mga erehe at sunugin, itapon sa spam =) Ang mga hakbang ay pansamantala at pagkatapos ng pag-atake ( Sana matapos na) Puputulin ko ang plugin.

Nagsusulat ako ng isa pang custom na pagsusuri

Oo, oo, nag-order sila ng isa pang reviewer mula sa akin, ang pangalawa sa isang buwan. Hahasain ito para sa trapiko ng paghahanap sa kahilingan ng customer.

Buti na lang at nagsisimula ng mapansin ng mga advertisers ang blog ko =) Kung magpapatuloy ito, kailangan magtaas ng presyo at ang mga pagkain ay dapat ayusin na parang prinsesa sa dining room, para hindi masikip ang blog. may advertising. Bagama't sa tingin ko ang isang ito ay magiging 3 artikulo lamang sa lahat ng oras, hindi ko masyadong iniisip.

Isang blogger na kilala ko ang nagbebenta ng kanyang blog na malaki ang tiyan

Nagpasya si Timur na ibenta ang kanyang blog na wpget.ru. Titz 30 PR 2 trapiko 200 tao/araw sa karaniwan, 300+ artikulo sa index, kumikita ang site mula sa pagbebenta ng mga link. Ngayon ang bid sa telderi ay 12 libo lamang, ito ay napakamura para sa naturang site, sa katunayan, kung mayroon akong libreng pera, ako mismo ang bibili nito)

Nakakalungkot, siyempre, na ibinebenta niya ito, ngunit kung ikaw ay pagod dito at ang pag-blog ay hindi nagdudulot sa iyo ng anumang kasiyahan, kung gayon ito ay hindi katumbas ng halaga, ito ay talagang mas mahusay na makahanap ng isang bagay na mas kawili-wiling gawin para sa iyong sarili.

Paano mag-alis ng kategorya o post mula sa pangunahing pahina ng isang WordPress blog at RSS feed

Noong isang araw kailangan kong tanggalin ang isang post mula sa pangunahing pahina. Tinanong ako ng higit sa isang beses kung paano gawin ito. Gumagamit ako ng isang baluktot at mabigat na plugin, ngunit ngayon ay nakahanap ako ng isang maliit at madaling hack na nagbibigay-daan sa iyong gawin ang lahat sa loob ng ilang minuto.

Sa totoo lang narito ang code mismo:

function hidecategory($query) (
kung ($query->is_feed || ($query->is_home && !(is_paged())))
($query->set("cat","-24");)
ibalik ang $query; )
add_filter("pre_get_posts","hidecategory");

24 ang numero ko, kailangan mong ipasok ang iyo.

Ang code na ito ay ipinasok sa functions.php. Ang kakanyahan nito ay ang mga sumusunod: sabihin nating gusto mong itago ang ilang kategorya, upang gawin ito malalaman mo ang numero ng ID nito. Malalaman mo ito kapag nag-e-edit ng isang kategorya; ang ID ay isusulat sa address bar ng browser. Halimbawa, para sa aking seksyong “Site News” ang ID ay magiging 24

Magandang hapon mga kaibigan!

Kung mayroon kang problema sa kung paano i-disable ang mga komento ng WordPress sa iyong site, napunta ka sa tamang lugar.

Pagkatapos basahin ang manwal na ito, magagawa mong pagbawalan ang iyong mga bisita na mag-iwan ng mga komento sa lahat ng mga post, gayundin sa bawat isa nang paisa-isa. Bilang karagdagan, maaari mong alisin ang form ng komento, na ganap na hindi kinakailangan kung ang talakayan ng mga post ay sarado.

Hindi ko alam kung bakit kailangan mong mag-alis ng mga komento, ngunit para sa bagay na iyon, ang mga tagubilin ay nasa harap mo nang buo sa ibaba.

Sa karamihan ng mga kaso, para sa mga site na nagbibigay-kaalaman, hindi ko inirerekomenda ang paggawa nito, dahil ang mga komento ay isa sa mga kadahilanan sa pagraranggo kung saan nauunawaan ng mga search engine na kung mayroong isang talakayan sa pahina, kung gayon ang nilalaman ay karapat-dapat ng pansin.

Kung mayroon kang ilang uri ng site ng business card, direktoryo o katalogo, kung gayon ang mga komento sa naturang mapagkukunan ay ganap na hindi kailangan, dahil wala kang matatanggap maliban sa spam.

Huwag paganahin ang pagkomento sa mga bagong artikulo

Ang pagkilos na ito ay ang unang hakbang sa ganap na hindi pagpapagana ng mga komento, dahil kailangan munang ipagbawal ang pag-iwan ng mga komento sa mga bagong materyal, at pagkatapos ay sa mga umiiral na.

Ang lahat ay ginagawa nang napakasimple sa pamamagitan ng WordPress admin panel. Una, pumunta sa item na "Mga Setting - Talakayan" at ipagbawal ang pag-iwan ng mga komento sa mga bagong artikulo.

Inalis namin ang checkbox na ito para walang checkmark. Ngayon ang mga bagong artikulo ay hindi dapat magkaroon ng form ng komento. Kung oo, kapag sinubukan mong mag-iwan ng komento, ipapakita nito ang mensaheng "Paumanhin, sarado ang talakayan ng post na ito."

Kung hindi mawala ang form, nangangahulugan ito na ang template ay dinisenyo sa ganitong paraan at sa huling talata ng artikulo ay ipapaliwanag ko kung paano ito aalisin.

Huwag paganahin ang mga komento para sa lahat ng umiiral na mga post

Una, ilalarawan ko ang lahat ng mga hakbang sa iyo, at pagkatapos ay lagyan ng numero ang mga ito sa screenshot upang gawin itong mas malinaw.

  1. Pumunta kami sa listahan ng lahat ng mga tala sa pamamagitan ng item na "Mga Tala - lahat ng mga talaan";
  2. Piliin ang lahat ng mga entry na may check box;
  3. Piliin upang baguhin ang lahat ng mga tala;
  4. Ipinagbabawal namin ang mga komento at ina-update ang mga setting.

Naki-click ang screenshot. Maaari mong panoorin ito sa buong laki.

Tandaan na ang screenshot ay nagpapakita ng mass editing block kung saan maaari mong i-disable ang pagkomento. Sa orihinal na bersyon, kapag pumunta ka lang sa listahan ng lahat ng mga tala, wala ito doon. Lumilitaw lamang ito pagkatapos ng ika-3 pagkilos, kapag pinili namin ang opsyon sa pagbabago.

Bago ang malawakang pag-edit upang masakop ang lahat ng mga post, kailangan mong ipakita ang mga ito sa isang pahina upang silang lahat ay mapansin at ang mga pagbabago ay inilapat sa lahat ng mga post nang sabay-sabay. Ginagawa ito gamit ang mga setting ng display (mga setting ng screen) sa admin panel.


Ang button ay matatagpuan sa pinakatuktok ng admin panel sa kanang bahagi. Itakda ang iyong sariling bilang ng mga entry. Kung kailangan mong i-disable ang 300 record, itakda ang value na ito.

Nagaganap din ang proseso ng hindi pagpapagana ng mga talakayan para sa mga pahina ng serbisyo (site map, mga contact, atbp.). Bilang isang patakaran, dapat mong palaging huwag paganahin ang mga komento para sa kanila, dahil hindi sila nagbibigay ng anumang kahulugan sa site.

Ginagawa ang lahat sa parehong paraan tulad ng sa mga artikulo, pupunta lamang kami sa item na "Mga Pahina - lahat ng mga pahina".

Kung kailangan mong ibalik ang pagkomento, pagkatapos ang lahat ay ginagawa sa parehong paraan, piliin lamang ang item na "Payagan".

Tingnan natin kung paano i-disable ang mga komento sa ilang partikular na artikulo.

Alisin ang mga komento sa ilang partikular na post at page

Mayroong isang opsyon kapag kailangan mong huwag paganahin ang mga talakayan lamang sa ilang mga post. Halimbawa, nag-publish ka ng balita sa iyong blog tungkol sa pagbebenta ng Bagong Taon ng iyong mga kurso sa impormasyon. Bakit nagkomento sa gayong mga tala? Sa ganitong mga kaso, dapat alisin ang mga komento.

Kaya mo yan:

  • sa pamamagitan ng isang listahan ng lahat ng mga entry;
  • sa pamamagitan ng post editor.

Sa pamamagitan ng listahan ng lahat ng mga entry, kailangan mong pumunta sa mga katangian ng artikulo at alisin ang checkbox mula sa item na "Pahintulutan ang mga komento".

Magagawa mo rin ito sa pamamagitan ng post editor, at ito ay mas maginhawa, dahil maaari mong isara kaagad ang talakayan sa panahon ng proseso ng pag-publish. Ngunit para magawa ito, siguraduhin na ang item ng talakayan ay ipinapakita sa mga setting ng screen sa loob ng editor.


Sa ibaba ng field ng text entry ay dapat mayroong isang bloke na may parehong pangalan, kung saan maaari mong alisin ang checkbox at pagbawalan ang mga bisita na makipag-usap sa site.


Ganoon din sa mga pahina.

Upang pagsama-samahin, isang maikling video sa impormasyong inilarawan sa itaas.

May isang huling at marahil pinakamahirap na hakbang na natitira.

Pag-alis ng form ng komento mula sa site

Sa kasamaang palad, hindi sa lahat ng mga template, kapag hindi mo pinagana ang mga talakayan, mawawala ang form ng komento. meron pa ako. Kung ang iyong form ay hindi nawala at hindi mo ito kailangan, ngayon ay susubukan kong ipaliwanag nang detalyado kung paano ito aalisin sa site.

Sa kasamaang palad, hindi mo magagawa nang hindi ine-edit ang mga file ng template, dahil ang form ay ipinapakita ng PHP code, na kailangang alisin mula sa file. Ang problema ay iba itong ipinapakita sa bawat template. Para sa ilan, ito ay ipinapakita sa isang hiwalay na file, at pagkatapos ay na-load lamang mula sa PHP code. At para sa ilan, ang form code ay direktang ilalagay sa record output file.

Ipinapakita ng aking template ang form bilang pangalawang opsyon, kapag ang form code ay direkta sa iisang post at page na file. Sa mga template ng WordPress na magagamit sa site pagkatapos i-install ang engine, ang form ay nagmula sa isang hiwalay na file. Sa pangkalahatan, ngayon ay isasaalang-alang ko ang 2 pagpipiliang ito.

Upang magsimula, palagi kong inirerekumenda ang pagpunta sa mga pahina (page.php) at solong post (single.php) na mga file at hanapin ang code sa mga ito na nagpapakita ng form. Kung mayroon man, alisin lamang ito at malulutas ang problema. Sa aking template, ang code na ito ay ipinapakita nang buo kasama ang lahat ng mga patlang (paglalagay ng pangalan, e-mail, website at mensahe).

Posible na mayroon kang parehong istraktura ng template. Pagkatapos ay pumunta ka sa mga file na ito at maghanap ng code na katulad ng nasa screenshot sa itaas (naki-click). Ang code ay palaging magkatulad at magkakaroon ng malaking presensya ng mga salitang "komento" dito.

Kung ito ay umiiral, pagkatapos ay hanapin ang simula at wakas nito at tanggalin ito sa impiyerno...

Kung hindi, posible na mag-output ng form ng komento mula sa isa pang file gamit ang isang function. Sa karaniwang Twentyfourteen na template, ito ay ginagawa sa ganitong paraan.

Ang form code ay nasa ibang file sa isang lugar (eg comments.php, comments-template.php). Ngunit ang code na ito ay output pa rin sa isang post at pahina. Ang Twentyfourteen na template ay nagpapatupad nito bilang mga sumusunod.


Sa kasong ito, ang code ay mayroon ding mga salitang "Komento". Maaari mo itong alisin, ngunit hindi ito kinakailangan, dahil hindi ipinapakita ng code na ito ang form kapag hindi pinagana ang talakayan.

Maaaring may isang sitwasyon na sa file ng isang entry (single.php) at isang page (page.php) ay wala kang makikitang katulad na code, sa una at sa pangalawang kaso. Pagkatapos ang form ay ipinapakita kasama ang nilalaman. Ginagawa nitong mas kumplikado ang mga bagay, dahil ang ilang mga template ay maaaring may napakakumplikadong mga function na nagbibigay ng nilalaman. Sa kasong ito, iminumungkahi kong pumunta sa comments.php, comments-template.php (o katulad) at hanapin ang form doon.

Maaaring naglalaman ang mga ito ng higit sa isang variant ng code. Pagkatapos ay tanggalin mo ang ilang bahagi at tingnan kung may form ng komento sa iyong site. Lubos kong inirerekomenda na i-edit mo ang mga file sa iyong computer at gumawa ng mga backup na kopya upang maibalik mo ang lahat sa lugar nito anumang oras.

Ang prosesong ito ay may ilang mga paghihirap para sa isang baguhan. Lalo na kung nakakalito ang template. Sa anumang kaso, hindi ko pinagana ang mga komento sa aking site. Samakatuwid, kung may mga problema, isulat ang iyong mga katanungan.

Iyon lang, mga kaibigan. paalam.

Pagbati, Konstantin Khmelev!

Pagbati mahal na mga kaibigan! Ngayon sasabihin ko sa iyo kung paano ibukod ang mga post (mga indibidwal na post), mga kategorya, mga link, mga tag mula sa pangunahing pahina ng iyong blog o website, kung paano ibukod ang mga ito mula sa feed at mga resulta ng paghahanap para sa blog, mula sa mga archive at kategorya. Maaari itong gawin nang hiwalay o magkasama, bilang isang kumplikado.

Iyon ay, sa huli ay makakakuha kami ng isang maliit at simpleng piraso ng code, na, sa aming kahilingan, ay ibubukod ang mga artikulong iyon na sa ilang kadahilanan ay hindi namin nais na ipakita sa lahat ng mga bisita sa blog, ngunit nais, halimbawa, upang ipakita lamang sa isang hiwalay na grupo ng mga tao. Ang nasabing post ay maaaring ilagay sa ilalim ng isang password at ipamahagi para sa subscription...

Ayon sa aking step-by-step na gabay, sinuman sa inyo ay magagawang ipatupad ang function na ito sa iyong WordPress blog, nang hindi gumagamit ng anumang mga plugin, iyon ay, hindi ito makakaapekto sa bilis ng paglo-load sa anumang paraan.

Well, magsimula tayo! Kailangan namin ng isang blog sa WordPress engine, kailangan namin ng kaunting pagnanais at kakayahang kopyahin ang isang piraso ng teksto mula sa isang dokumento at i-paste ito sa isa pang dokumento. Nasa iyo ang lahat! tapos tayo na...

Ang problemang ito ay maaaring malutas sa maraming paraan:

  • Sa pamamagitan ng pagdaragdag ng isang maliit na piraso ng code sa functions.php file (pag-usapan natin ito);
  • Sa tulong ng mas kumplikadong reprogramming ng template code (hindi ako nagsusulat ng ganoong mga manwal, hindi ito ang format ng aking blog);
  • Gamit ang plugin na Simply Exclude (Pag-uusapan ko ito sa dulo)

Kaya, ipagpalagay natin na nagsulat ka ng ilang post at ayaw mong lumabas ito sa pangunahing pahina ng blog. Kaya, ginagawa namin ang sumusunod:


2. At ngayon ang bawat code sa pagkakasunud-sunod ( kung paano ibukod ang mga talaan):

Code para sa pagbubukod ng mga talaan (mga post) mula sa pangunahing pahina ng site sa pamamagitan ng ID


kung ($query->is_home)
($query->
ibalik ang $query; )

Tutulungan ka ng pagpipiliang code na ito na alisin ang anumang post mula sa pangunahing pahina ng iyong blog, kahit anong kategorya ito, ibig sabihin, hindi nito ibinubukod ang buong kategorya, ngunit ang partikular na post na ito lamang!

Code para sa pagbubukod ng mga entry (post) mula sa RSS feed ng isang WordPress blog sa pamamagitan ng ID

function exclude_post($query) (
kung ($query->is_feed)
($query->set("post__not_in", array(1146, 1199));) // post id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_post");

Ngunit sa tulong ng bersyon ng code na ito ay ipapakita ko sa iyo kung paano ibukod ang mga talaan mula sa RSS feed ng iyong blog. Para saan ito? Oo, napakasimple, sa simpleng paraan na ito maaari mong maantala ang paglalathala ng isang bagong artikulo sa feed, kaya hindi ito ipapadala ng serbisyo ng feedburner sa mga subscriber at hindi magagamit para sa pagtingin ng mga programa ng mambabasa o mga rss aggregator. Ang lahat ng ito ay kinakailangan lamang kung ikaw ay nag-aalala tungkol sa pagnanakaw ng iyong nilalaman sa pamamagitan ng RSS.

Ang katotohanan ay ang ilang mga site ay may napakataas na bilis ng pag-index, ngunit para sa iyong batang blog ay maaaring umabot ito ng ilang araw. Ang masasamang maliliit na lalaki ay huwag mag-atubiling kunin ang iyong madugong maliit na artikulo mula sa iyo at i-post ito sa kanilang sarili. Ang artikulong ito ay agad na isasama sa kanilang index, at sa iyong blog ito ay maituturing na plagiarism. Gayundin, kung walang tits10 hindi mo mapoprotektahan ang iyong sarili nang maaga mula sa ganitong uri ng kawalan ng katarungan.

Mayroon ding mga espesyal na plugin na maaaring maantala ang paglalathala ng isang artikulo sa feed para sa isang tiyak na oras! Sa anumang kaso, nasa iyo kung gagamitin ang function na ito o hindi. Minsan kailangan kong magsulat ng isang maikling post para sa isang makitid na bilog ng mga tao, ibinukod ko ito mula sa pangunahing pahina at mula sa feed, pagkatapos ay ganap na inalis ito mula sa publikasyon at tinanggal ito. Talaga, nagkaroon ng problema at nalutas ko ito sa ganitong paraan!

Kopyahin ang code, i-paste ito sa pinakatuktok ng functions.php file, tukuyin ang post id at tapos ka na!

Paano hindi magpapakita ng mga post sa archive o mga pahina ng kategorya ayon sa ID

function exclude_post($query) (
kung ($query->is_archive)
($query->set("post__not_in", array(1146, 1199));) // post id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_post");

Upang alisin ang mga post mula sa mga kategorya, kailangan mo lang baguhin ang is_archive sa is_category

Paano magbukod ng mga entry (post) mula sa mga resulta ng paghahanap sa blog sa pamamagitan ng ID

function exclude_post($query) (
kung ($query->is_search)
($query->set("post__not_in", array(1146, 1199));) // post id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_post");

Hindi ko nasuri kung paano ito gagana, halimbawa sa paghahanap sa Yandex o paghahanap sa Google. Mamaya gagawin ko ito at gumawa ng maliit na update sa post, o magsulat sa mga komento. Ang alam ko lang ay gagana ito nang mahusay sa karaniwang WordPress search engine. Mayroon kayong lahat ng widget na ito - "Paghahanap sa Blog"!

Paano magbukod ng isang post mula sa pangunahing pahina, rss feed at mga resulta ng paghahanap kaagad sa pamamagitan ng ID

function exclude_post($query) (
kung ($query->is_feed || ($query->is_home || ($query->is_search)))
($query->set("post__not_in", array(1146, 1199));) // post id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_post");

Well, mahusay! Sinuri lang muli ang lahat, ang bawat code ay gumagana nang perpekto. Ang huling bersyon ng code ay hindi kasama ang anumang post na may id na iyong pinapalitan, hindi kasama ito mula sa pangunahing pahina ng iyong blog (article announcement feed), rss feed (feed) at mga resulta ng paghahanap sa blog!

Inalis ng pinakaunang code ang post mula sa isang lugar lamang, lalo na mula sa pangunahing pahina (feed ng anunsyo ng artikulo). Kung kailangan mo ng code na magbubukod sa iyong post sa alinmang dalawang lugar sa iyong blog, magiging ganito ang hitsura:

function exclude_post($query) (
kung ($query->is_feed || ($query->is_home))
($query->set("post__not_in", array(1146, 1199));) // post id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_post");

Kung nais mo, kakailanganin mo lamang baguhin ang mga sumusunod na variable sa pangalawang linya, ang mga nasa bracket - is_feed is_home is_search is_archive is_category

Kung may hindi malinaw, magtanong!

Ang lahat ng impormasyong ito ay nauugnay sa pagbubukod ng anumang partikular na post sa pamamagitan ng ID nito. Ngunit hindi lang ito ang maaaring ibukod mula sa pangunahing pahina ng blog, mula sa feed at mula sa mga resulta ng paghahanap. Ngayon ay patuloy nating mauunawaan ito!

Mga kaibigan, sinusubukan ko ang aking makakaya na magsulat sa paraang malinaw sa lahat, upang ang lahat, nang walang pagbubukod, ay maaaring pumili ng bersyon ng code na kailangan nila at ilapat ito sa kanilang website. Samakatuwid, kinailangan kong tahakin ang isang napakahabang landas, hindi ako nagtuturo sa iyo kung paano mag-isip at magsulat ng ganoong code sa iyong sarili, ibibigay ko ito sa iyo na handa na, kunin mo lang ito, i-paste ito at gamitin ito!

3. Ang sumusunod na cycle ng mga opsyon sa code (hindi kasama ang mga kategorya):

Mga opsyon para sa pagbubukod ng mga kategorya mula sa pangunahing, feed at paghahanap sa pamamagitan ng ID

Sa eksaktong parehong paraan, maaari naming ibukod (alisin) ang mga buong kategorya (heading) mula sa pangunahing pahina, mula sa feed at paghahanap, iyon ay, lahat ng mga post na kabilang sa isang partikular na kategorya, ayon sa kanilang ID.

Paano Magbukod ng Kategorya mula sa Home Page ng WordPress Blog


kung ($query->is_home)
($query->
ibalik ang $query; )

Paano ibukod ang isang kategorya mula sa RSS feed ng isang WordPress Blog

function exclude_cat($query) (
kung ($query->is_feed)
($query->set("cat","-3, -5, -7");) // category id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_cat");

Paano hindi magpakita ng kategorya sa mga archive ng artikulo sa blog

function exclude_cat($query) (
kung ($query->is_archive)
($query->set("cat","-3, -5, -7");) // category id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_cat");

Paano Magbukod ng Kategorya mula sa Mga Resulta ng Paghahanap sa Blog ng WordPress

function exclude_cat($query) (
kung ($query->is_search)
($query->set("cat","-3, -5, -7");) // category id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_cat");

Paano magbukod ng kategorya mula sa RSS feed, home page at mga resulta ng paghahanap

function exclude_cat($query) (
kung ($query->is_feed || ($query->is_home || ($query->is_search)))
($query->set("cat","-3, -5, -7");) // category id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_cat");

Paano magbukod ng isang kategorya mula sa pangunahing pahina at feed ng isang WordPress Blog

function exclude_cat($query) (
kung ($query->is_feed || ($query->is_home))
($query->set("cat","-3, -5, -7");) // category id
ibalik ang $query; )
add_filter("pre_get_posts","exclude_cat");

Kadalasan, nagtatago sila ng isang hiwalay na kategorya upang magsulat ng mga post sa advertising dito at paghiwalayin ang mga ito mula sa pangkalahatang masa ng nilalaman!

Kung kailangan mong alisin, halimbawa, ilang libong artikulo mula sa pangunahing pahina o sa ibang lugar, mas madaling ibukod ang kanilang mga kategorya. Kung ang mga ito ay pumipili ng mga post, kailangan mong magtrabaho nang husto, o gumamit ng isang espesyal na plugin. Bagama't hindi ito magiging mas maginhawa, kakailanganin mo pa ring dumaan sa bawat artikulo at i-click ang checkbox.

Kung manu-mano mong itago ang mga ito, kailangan mo lang pumunta sa tab na "Lahat ng Mga Post" sa blog console at mag-hover sa mga ito nang isa-isa, tingnan ang id at i-paste ang mga ito sa code. Maraming libong mga tao sa ID ang siyempre ay makabuluhang taasan ang code, ngunit kahit na ito ay magiging mas simple kaysa sa code ng buong plugin, na gumagamit din ng isang Database.

4. Ang huling bahagi ng aming how-to (pagbubukod ayon sa tag, pagbubukod ayon sa plugin):

Paano magbukod (magtanggal) ng mga post na may partikular na tag mula sa pangunahing, feed (RSS feed) at mga resulta ng paghahanap ayon sa ID nito

Upang gawin ito gagamitin namin ang sumusunod na code:

function exclude_post($query) (
kung ($query->is_home) (
$tags = array("3", "7", "13"); // tag id
$query->set("tag_not_in", $tags);)
ibalik ang $query;)
add_filter("pre_get_posts","exclude_post");

Ang halimbawang ito ay agad na ibubukod ang artikulo mula sa lahat ng dako:

function exclude_post($query) (
kung ($query->is_feed || ($query->is_home || ($query->is_search)))
($tags = array("3", "7", "13"); // tag id
$query->set("tag_not_in", $tags);)
ibalik ang $query;)
add_filter("pre_get_posts","exclude_post");

Upang maibukod lamang mula sa feed o mula lamang sa mga resulta ng paghahanap, sa unang bersyon ng code, sa pangalawang linya, palitan ang mga value na pamilyar na sa iyo is_feed is_home is_search is_archive is_category

Isa pang kapaki-pakinabang na punto! Maaari kang magdagdag ng ilang iba't ibang mga pagpipilian sa code sa iyong functions.php file at magkomento sa mga hindi mo gustong gamitin.

Tingnan natin ang isang halimbawa:

Piliin ang kinakailangang fragment ng code → right-click at piliin ang → “Comment block” → /*code*/ (ginawa sa PHP Expert Editor 4.3 text editor)

Gamit ang programang Notepad plus plus bilang isang halimbawa:

Sinabi ko sa iyo kung paano hindi magpakita ng mga indibidwal na post at buong kategorya sa pangunahing pahina ng blog, feed, archive, kategorya at mga resulta ng paghahanap sa blog gamit ang simpleng code. Ngunit sulit din ang pagbibigay ng solusyon sa problemang ito gamit ang simpleng Simply Exclude plugin.

Hello guys!

Ngayon ay magkakaroon ng isang teknikal na artikulo na magpapakita sa iyo kung paano ibukod ang mga post mula sa pangunahing pahina ng isang WordPress site.

Matututuhan mo rin kung paano ibukod ang mga buong kategorya, hindi lang ang mga partikular na entry. Ipapakita ko sa iyo ang maraming mga pagpipilian, parehong may at walang mga plugin. Sa pangkalahatan, ang lahat ay gaya ng dati.

Sa anong mga kaso dapat itong gamitin?

Ang pangangailangan na ibukod ang ilang mga post, iyon ay, ang kanilang mga anunsyo, mula sa pangunahing pahina ay kadalasang umiiral sa mga personal na blog, kapag bilang karagdagan sa malaki, mataas na kalidad na mga artikulo para sa isang regular na madla, sulit din na punan ang mapagkukunan ng mga simpleng SEO na na-optimize na mga artikulo. .

Ang mga naturang artikulo ay malamang na hindi kapaki-pakinabang sa mga miyembro ng blog, dahil alam na nila ang lahat ng ito. Upang hindi magkalat ang pangunahing pahina ng mga hindi kinakailangang anunsyo, mas mabuti na huwag ipakita ang mga ito. Kasabay nito, dapat silang idagdag sa site upang maakit ang mga bagong madla sa mapagkukunan mula sa mga search engine. Kailangan ding ipakita ang mga ito, ngunit dapat itong gawin sa mga pahina ng mga seksyon at archive, upang mahanap sila ng mga bagong dating gamit ang nabigasyon sa mga seksyon ng site.

Halimbawa, hindi mo mahahanap ang artikulong ito sa pangunahing pahina ng aking blog sa alinman sa kanilang mga pahina ng pagination (page navigation). Kasabay nito, ang anunsyo ng artikulo ay makikita sa seksyong "Kapaki-pakinabang" at sa pahina ng mapa ng site na "Lahat ng Mga Artikulo".

Nang walang plugin

Ang pamamaraan na walang plugin ay palaging mas kanais-nais, ngunit sa kasong ito ay hindi ito magiging priyoridad, dahil upang ibukod ang ilang artikulo kailangan mong gumawa ng mga pagbabago sa template file na iyong na-install sa bawat oras. Ngunit gayon pa man, magpapakita ako ng maraming iba't ibang mga pagpipilian para sa pagpapatupad ng gayong solusyon, dahil posible na ito ay angkop sa iyo.

Sa ibaba ay magbibigay ako ng iba't ibang piraso ng code na dapat ilagay sa functions.php template file.

Hindi kasama ang mga partikular na tala sa pamamagitan ng ID

Sa pagpipiliang ito, hindi na kailangang itago ang buong mga kategorya mula sa visibility sa pangunahing pahina, tulad ng ginagawa ng marami sa tulong ng iba't ibang mga plugin. Ang kailangan mo lang gawin ay idagdag ang mga ID ng mga kinakailangang tala sa code.

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

kung ($query -> is_home )

($ query -> // post id

ibalik ang $query ; )

Sa linya 3, ang mga numero 1 at 2 ay mga tala ng ID na hindi lalabas sa home page. Kailangan mong isulat ito na pinaghihiwalay ng mga kuwit.

Malalaman mo ang ID ng post, pahina at kategorya sa address bar ng browser kapag tumitingin sa pamamagitan ng editor.

Ang susunod na opsyon ay magbibigay-daan sa iyo na ibukod ang mga entry mula sa RSS feed.

Pagbubukod mula sa RSS feed

Ang code na ito ay magbibigay-daan sa iyong ibukod ang mga anunsyo mula sa news feed at hindi ipadala ang mga ito sa pamamagitan ng e-mail kung gagamitin mo ang subscription at serbisyo ng anunsyo gamit ang 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");

function exclude_post ($query) (

kung ($query -> is_feed )

( $query -> set ( "post__not_in" , array ( 1 , 2 ) ); ) // post id

ibalik ang $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Ang pagdaragdag ng mga tala sa kasong ito at sa lahat ng iba pa ay nangyayari sa parehong paraan.

Pagbubukod mula sa mga kategorya at archive

Upang ibukod ang mga post mula sa mga pahina ng kategorya, dapat mong gamitin ang sumusunod na code.

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

function exclude_post ($query) (

kung ($query -> is_category )

( $query -> set ( "post__not_in" , array ( 1 , 2 ) ); ) // post id

ibalik ang $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Maaaring baguhin ang code na ito para maglapat ng exception mula sa mga archive. Kinakailangang palitan ang is_category function ng is_archive sa ika-2 gusali.

Pagbubukod mula sa pahina ng paghahanap

Maaaring kailanganin din ang opsyong ito kung hindi dapat ipakita ang ilang tala sa mga bisita kapag ginamit nila ang paghahanap sa site. Halimbawa, ang mga ito ay maaaring iba't ibang artikulo ng balita na hindi naglalaman ng nilalaman sa paksa ng site.

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

function exclude_post ($query) (

kung ($query -> is_search )

( $query -> set ( "post__not_in" , array ( 1 , 2 ) ); ) // post id

ibalik ang $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Pinagsasama-sama ang ilang mga pagpipilian

Maaari mong pagsamahin ang lahat ng mga opsyon sa itaas at ibukod ang mga tala mula sa lahat ng uri ng mga pahina nang sabay-sabay o pili sa mga kinakailangan.

Kung titingnan mong mabuti ang lahat ng mga code, pagkatapos ay sa ika-2 linya ay makikita mo ang isang kundisyon kung saan nakatakda ang parameter ng mga uri ng pahina upang hindi paganahin ang pagpapakita ng mga anunsyo sa post sa mga ito:

  • is_search
  • is_category
  • is_feed
  • is_home

Maaari mong pagsamahin ang lahat ng mga opsyon at ibukod ang mga post mula sa lahat ng dako o sa ilang mga pahina. Halimbawa, para sa mga pagbubukod mula sa mga kategorya at pangunahing, dapat mong ilagay ang sumusunod na code sa functions.php file.

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

function exclude_post ($query) (

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

( $query -> set ( "post__not_in" , array ( 1 , 2 ) ); ) // post id

ibalik ang $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Ang 2nd line na may kundisyon (if) ay naglalaman ng mga parameter para sa mga kategorya (is_category) o home (is_home).

Tandaan na ang bawat susunod na parameter ay nakasulat sa loob ng nakaraang isa hanggang sa 2 vertical bar at matatagpuan sa sarili nitong mga bracket. Iyon ay, kung titingnan mo ang nakaraang code, makikita mo na ang pangalawang kundisyon para sa pangunahing pahina ay nakapaloob sa sarili nitong mga bracket at nasa loob ng mga pangkalahatang bracket na bumabalot sa unang kundisyon para sa mga kategorya.

Kung ito ay nagkakahalaga ng pagdaragdag ng ilang uri ng pangatlong kondisyon, halimbawa para sa mga pahina ng archive, kung gayon ito ay nagkakahalaga ng pagdaragdag nito sa loob ng mga bracket na may kondisyon para sa pangunahing (is_home) at isulat ito sa pamamagitan ng 2 vertical bar. Sa pagsasagawa, ganito ang hitsura.

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

function exclude_post ($query) (

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

( $query -> set ( "post__not_in" , array ( 1 , 2 ) ); ) // post id

ibalik ang $query ; )

add_filter ("pre_get_posts" , "exclude_post" );

Gamit ang parehong prinsipyo, magdagdag ng iba pang uri ng mga page na ibubukod.

Ang susunod na opsyon para sa pagbubukod ng mga tala ay upang ibukod ang buong mga heading (mga kategorya).

Hindi kasama ang buong kategorya

Ito ay napaka-maginhawa para sa mga tamad na tao, kapag maaari kang lumikha lamang ng ilang uri ng kategorya at idagdag doon ang lahat ng mga post na hindi nangangailangan ng pagpapakita sa ilang mga uri ng mga pahina.

Ang istraktura ng code ay halos pareho. Binabago lamang nito ang parameter na tumutukoy sa pagbubukod ng isang post o kategorya. Sa mga naunang tinalakay na kaso, ang huling linya ay itinakda sa exclude_post. Sa bagong code dapat itong palitan ng exclude_cat.

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

function exclude_cat ($query) (

kung ($query -> is_home )

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

ibalik ang $query ; )

add_filter ("pre_get_posts" , "exclude_cat" );

Gaya ng nakikita mo, ang huling linya ay sumailalim sa mga pagbabago at ang ika-3 linya, kung saan ang parameter na nagbabasa ng category ID ay binago. Ang ID sa kasong ito ay isinusulat sa pamamagitan ng isang gitling, ngunit din sa pamamagitan ng kuwit.

Ang prinsipyo ng pagbuo ng mga kundisyon para sa mga uri ng pahina ay katulad ng mga opsyon na tinalakay kanina, kung saan ipinakita ko ang halimbawa ng pagbubukod ng mga partikular na post. Ito ay nagkakahalaga ng pagbabago sa ika-2 linya, pagdaragdag ng mga kinakailangang parameter para sa mga kategorya, paghahanap, archive o RSS feed.

Kaya, tumingin kami sa mga pamamaraan nang walang plugin. Mayroon ding opsyon na magbukod ng mga entry tungkol sa mga tag, ngunit ngayon ay hindi na masyadong nauugnay ang mga tag para sa 99% ng mga mapagkukunan. Kung kailangan mo ng naturang impormasyon, mangyaring isulat ang tungkol dito sa mga komento. Dadagdagan ko agad lahat.

Mga Plugin

Ang mga plugin ay isang mas nababaluktot na solusyon sa bagay na ito, dahil kapag hindi kasama ang mga partikular na entry ay hindi na kailangang i-edit ang template file sa bawat pagkakataon. Ito ay nagkakahalaga ng paglalagay ng checkbox sa editor ng nais na mga post kapag nai-publish ang mga ito o pagkatapos.

Kung ito ay nagkakahalaga ng pagbubukod ng isang espesyal na kategorya na nilikha para sa mga artikulo na hindi nangangailangan ng pagpapakita, pagkatapos ay mas mahusay na gumamit ng isa sa mga code na ibinigay sa itaas.

Ibukod lang ang plugin

Maaari mong i-download ang plugin alinman sa pamamagitan ng WordPress console gamit ang paghahanap, o mula sa opisyal na website ng WordPress.

Pagkatapos ng pag-activate, gagana na ito at hindi mo na kailangang i-configure ito. Ngunit gayon pa man, inirerekumenda kong gumawa ng ilang mga pagbabago upang gawing mas kasiya-siya ang pagtatrabaho sa mga function nito.

Pagkatapos ng pag-install at pag-activate, agad kaming pumunta sa mga setting nito.

Sa una, sa mga setting ng plugin ang lahat ay nakatakda upang kapag ang checkbox ay na-activate (titingnan natin ito sa ibaba), ang mga kinakailangang pahina (mga post, kategorya, mga pahina) ay mamarkahan bilang "pinayagan para sa pagpapakita". Kaya, para sa bawat uri ng pahina kakailanganin mong suriin ang lahat ng mga checkbox upang maipakita ang lahat.

Magiging mas lohikal na itakda ang opsyong ito kapag, sa pamamagitan ng pag-activate ng checkbox (halimbawa, para sa pangunahing pahina), mamarkahan nito ang isang artikulo o iba pa bilang ipinagbabawal na ipakita.

Sa mga setting mayroong 3 tab na idinisenyo upang i-configure ang mga setting para sa iba't ibang uri ng mga pahina:

  • Taxonomy (taxonomy) - mga setting para sa paggana ng plugin sa mga seksyon ng WordPress admin panel: mga kategorya at tag;
  • Mga uri ng post - para sa mga uri ng post: mga artikulo at pahina;
  • Mga gumagamit - mga setting para sa mga gumagamit.

Ngayon ay magbibigay ako ng isang screenshot ng mga setting ng unang tab (taxonomy) at ipaliwanag ang mga parameter na dapat itakda.

  • Sa unang bloke ng mga setting na "Aktibo" kailangan mong itakda ang checkbox na "Aktibo" upang maidagdag ng plugin ang mga kinakailangang checkbox upang huwag paganahin ang pagpapakita sa mga kategorya o anumang iba pang uri ng mga pahina;
  • Sa pangalawang bloke itinakda namin ang lahat ng mga parameter sa tapat ng opsyong "Ibukod". Nangangahulugan ito na kung ang checkbox ay pinagana sa editor ng bawat uri ng pahina, ito ay itatago mula sa display at ang mga bagong artikulo ay magbubukas para sa display bilang default. Kung itinakda mo ang parameter na "Isama lamang," pagkatapos ay sa pamamagitan ng pagsuri sa checkbox, ang mga entry ay magbubukas para sa pagpapakita at ang mga bagong artikulo ay itatago bilang default. Kung ang pangalawang opsyon na "Isama lamang" ay napili, pagkatapos pagkatapos i-install ang plugin ang lahat ng mga entry ay itatago at kakailanganin mong itakda ang opsyon na "Ibukod";
  • Sa block na "Ipakita/Itago," itakda ang parameter na "Ipakita" upang ang mga kinakailangang checkbox ay maipakita sa bawat uri ng pahina para sa kakayahang huwag paganahin o paganahin ang pagpapakita.

Ang parehong mga parameter ay dapat ilagay sa natitirang 2 tab ng mga setting ng Simply Exclude plugin.

Halimbawa, narito ang isang screenshot ng tab na "Mga uri ng post."

Siyempre, maaari mong hindi paganahin ang paggana ng ilang mga pag-andar, halimbawa, sa unang tab maaari mong i-deactivate ang plugin para sa mga kategorya kung hindi namin ibubukod ang lahat ng mga post ng isang buong kategorya.

Ngayon tungkol sa gawain ng plugin mismo. Kapag naitakda mo na ang mga kinakailangang parameter, maaari kang pumunta sa editor para sa bawat uri ng post at maglagay ng mga check box sa tabi ng mga pahinang iyon kung saan mo gustong ibukod ang kanilang pagpapakita.

Halimbawa, upang itakda ang mga setting para sa mga post, maaari kang pumunta sa editor ng kinakailangang artikulo o sa pamamagitan ng item ng lahat ng artikulo. Pareho doon at magkakaroon ng mga kinakailangang check box. Sa editor, sa kanang column ay magkakaroon ng block na "Simply Exclude" na naglalaman ng 4 na checkbox para sa pagtatago ng mga post at page:

  • Mga Archive - mga kategorya at archive;
  • Mga Feed - Mga RSS feed;
  • Harapan/Bahay - pangunahing;
  • Mga paghahanap - paghahanap.

Sa pamamagitan ng pagsuri sa kinakailangang checkbox, maaari mong itago ang post mula sa isang partikular na uri ng pahina.

Sa WordPress admin panel na "Lahat ng mga post" sa tapat ng bawat materyal sa isang bagong column na tinatawag na "Simply Exclude show" magkakaroon din ng 4 na checkbox na ito. Ganoon din sa rubrics. Isang bagong column na may lahat ng checkbox ay idadagdag.


Iyon lang para sa plugin na ito. Sa pamamagitan ng pag-install nito, maaari mong napakabilis at nababaluktot na baguhin ang mga parameter ng display ng mga partikular na post o buong kategorya nang hindi nakakasagabal sa mga file ng template.

Ibukod ang plugin ng Mga Kategorya

Ang plugin ay inilaan lamang upang itago ang isang buong kategorya mula sa pangunahing pahina at RSS feed. Dahil ang pagpipiliang ito ay hindi nangangailangan ng labis na kakayahang umangkop (gumawa ako ng isang kategorya nang isang beses at nagdagdag ng mga artikulo doon), inirerekomenda kong ipatupad ang pagbubukod ng isang buong kategorya gamit ang code (tingnan ang punto 2).

Maaari mong i-download ang plugin gamit ang pindutan sa ibaba.

Pagkatapos i-install ito, pumunta sa mga setting (Mga Setting - Ibukod ang Kategorya) at piliin ang kinakailangang kategorya upang ibukod ito mula sa pangunahing pahina.

Ang pagbubukod ng lahat ng mga entry sa isang kategorya ay isang karaniwang opsyon. Ngunit nakikita ko ang isang sagabal dito, dahil ang site ay kailangang mag-publish ng maraming mga artikulo upang maakit ang trapiko sa paghahanap, at lahat sila ay nasa iba't ibang mga isyu ng parehong paksa.

Ngunit ang pagtulak ng iba't ibang mga materyales sa isang kategorya ay hindi napakahusay.

Madalas ding ginagamit ang opsyong ito kapag aktibong nagbebenta ng mga link sa isang website. Lumilikha ang may-ari ng isang seksyon at ini-publish ang lahat ng mga artikulo na may mga link sa pagbebenta dito. At ito ay hindi rin napakahusay, dahil ngayon ang mga webmaster ay nangangailangan ng paglalagay ng isang link sa isa sa mga pangunahing seksyon ng site upang ito ay hindi bababa sa bahagyang naki-click at magkaroon ng epekto sa panahon ng promosyon.

Iyon lang, guys, sa talang ito, tinatapos ko ang detalyadong manwal na ito, na dapat maging kapaki-pakinabang sa iyo kung dumating ka sa tamang lugar para sa artikulong ito. Sana maging maayos ang lahat para sa iyo.

Nais ko sa iyo ng isang magandang kalooban at isang magandang araw. See you.

Pagbati, Konstantin Khmelev!