Kamakailan lamang ang isa sa aming mga gumagamit ay nagtanong sa amin kung posible na idagdag ang malagkit na mga post sa mga custom na archive ng uri ng post. Bilang default, ang WordPress ay may malagkit na pag-andar na magagamit para sa mga post, ngunit hindi para sa iba pang mga uri ng post. Sa artikulong ito ipapakita namin sa iyo kung paano magdagdag ng mga sticky post sa WordPress custom post type archive. Bago kami sumulong, malamang na gusto mong malaman kung paano lumikha ng mga custom na uri ng post sa WordPress.
Pagdaragdag ng mga Sticky na Mga Post sa Mga Uri ng Custom na Post
Ang unang bagay na kailangan mong gawin ay i-install at i-activate ang plugin ng Mga Uri ng Sticky Custom Post. Pagkatapos i-activate ang plugin, pumunta sa Mga Setting »Pagbabasa at mag-scroll pababa sa seksyon ng Mga Uri ng Pasadyang Pasadyang Post. Susunod, kailangan mong piliin ang mga uri ng pasadyang post kung saan mo gustong Itigil ang pagpipiliang ito.
Ngayon kung ano ang aming nagawa dito ay naidagdag namin ang mga sticky post tampok sa aming mga pasadyang mga uri ng post. Ang mga sticky post sa mga pasadyang uri ng post ay ipapakita sa front page tulad ng mga regular na sticky post.
Ang problema ay na sa pamamagitan ng default WordPress ay nagpapakita lamang ng sticky post sa home page. Hindi ito nagpapakita ng mga sticky post sa mga pahina ng archive.
Pagpapakita ng mga Sticky Post sa Mga Uri ng Custom Post Type
Nagbibigay-daan sa ipinapalagay na mayroon kang isang pasadyang uri ng post para sa Mga Review ng Pelikula na may mga sticky post na pinagana gamit ang plugin na nabanggit namin sa itaas. Ngayon gusto mo ang iyong malagkit na mga post sa mga review ng pelikula na mga uri ng post na ipapakita nang magkakaiba at sa ibabaw ng mga di-malagkit na regular na mga review ng pelikula. Ganito:
Upang makamit ang layuning ito, ang unang bagay na kailangan mo ay isang template ng archive para sa iyong pasadyang uri ng post tulad nito: archive-post-type.php
. Alamin kung paano lumikha ng custom na post ng archive na uri ng pahina. Halimbawa, kung mayroon kang isang pasadyang uri ng post pelikula-review
dapat na ang iyong template ng pahina ng archive archive-movie-reviews.php
. Kung wala kang isang template, lumikha ng isa. Kopyahin lamang ang mga nilalaman ng archive.php sa direktoryo ng iyong tema at idikit ang mga ito sa isang bagong file archive-your-post-type.php
.
Ang susunod na hakbang ay idagdag ang code na ito sa iyong tema functions.php
file:
function wpb_cpt_sticky_at_top ($ posts) { // i-apply ito sa mga archive lamang kung (is_main_query () && is_post_type_archive ()) { global $ wp_query; $ sticky_posts = get_option ('sticky_posts'); $ num_posts = count ($ posts); $ sticky_offset = 0; / / Hanapin ang malagkit na mga post para sa ($ i = 0; $ i ID, $ sticky_posts)) { $ sticky_post = $ post [$ i]; // Alisin ang sticky mula sa kasalukuyang posisyon array_splice ($ posts, $ i, 1); / Ilipat sa harap, pagkatapos ng iba pang mga stickies array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ sticky_offset ++; // Alisin ang post mula sa mga sticky post array $ offset = array_search ($ sticky_post-> ID, $ sticky_posts); unset ($ sticky_posts [$ offset]); } } / / Maghanap para sa mas malagkit na post kung kinakailangan kung (! walang laman ($ sticky_posts)) { $ stickies = get_posts (array ( 'post__in' => $ sticky_posts, 'post_type' => $ wp_query-> query_vars ['post_type'], 'post_status' => 'publish', 'nopaging' => totoo )); foreach ($ stickies bilang $ sticky_post) { array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ sticky_offset ++; } } } bumalik $ post; } add_filter ('the_posts', 'wpb_cpt_sticky_at_top'); // Magdagdag ng malagkit na klase sa pamagat ng artikulo sa estilo ng malagkit na mga post function cpt_sticky_class ($ classes) { kung (is_sticky ()): $ classes [] = 'sticky'; bumalik $ klase; tapusin kung; bumalik $ klase; } add_filter ('post_class', 'cpt_sticky_class');
Ang code sa itaas ay maglilipat ng iyong malagkit na mga post sa tuktok, at kung ang iyong tema ay gumagamit post_class ()
function, pagkatapos ay idagdag ito malagkit sa post na klase.
Maaari mong estilo ang iyong malagkit na mga post sa pamamagitan ng paggamit .sticky
klase sa iyong stylesheet. Halimbawa:
.sticky { background-color: #ededed; background-image: url ('http://example.com/wp-content/uploads/featured.png'); Ulit-ulitin: walang-ulitin; background-position: right top; }
Umaasa kami na ang artikulong ito ay nakatulong sa iyo na magdagdag ng mga malagkit na post sa mga custom na archive ng uri ng post. Para sa mga tanong at feedback mangyaring mag-iwan ng komento sa ibaba.
Pinagmulan: Tareq Hasan