Paano Ipakita ang Mga Sikat na Post sa pamamagitan ng Mga Pananaw sa WordPress nang walang Plugin

Sa nakaraan ipinakita namin sa iyo kung paano lumikha ng isang popular na tabber ng post sa WordPress gamit ang isang plugin. Gumagana ang plugin na mahusay ang kahon para sa mga tabbers. Gayunpaman, nais namin ang higit pang pag-customize sa aming layout, kaya nagpasya kaming gawin ito nang walang plugin. Sa artikulong ito, ipapakita namin sa iyo kung paano subaybayan at ipakita ang mga sikat na post sa pamamagitan ng mga view sa WordPress nang hindi gumagamit ng anumang mga plugin.

Ang isang halimbawa ng aming pasadyang sikat na post display ay ipinapakita sa screenshot sa ibaba:

Mga Sikat na Post Halimbawa

Ang unang bagay na kailangan nating gawin ay lumikha ng isang function na tiyakin ang mga post post bilangin at iimbak ito bilang isang pasadyang patlang para sa bawat post. Upang gawin ito, i-paste ang mga sumusunod na code sa mga function.php ng ​​iyong tema o mas mahusay sa isang plugin na tukoy sa site:

function wpb_set_post_views ($ postID) {
     $ count_key = 'wpb_post_views_count';
     $ count = get_post_meta ($ postID, $ count_key, true);
     kung ($ count == '') {
         $ count = 0;
         delete_post_meta ($ postID, $ count_key);
         add_post_meta ($ postID, $ count_key, '0');
     } else {
         $ count ++;
         update_post_meta ($ postID, $ count_key, $ count);
     }
 }
 // Upang mapanatili ang tumpak na bilang, hinahayaan ang mapupuksa ang prefetching
 remove_action ('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

Ngayon na mayroon ka nang function na ito sa lugar, kailangan naming tawagan ang function na ito sa iisang pahina ng post. Sa ganitong paraan alam ng eksaktong eksakto kung aling post ang makakakuha ng credit para sa mga pagtingin. Upang magawa ito, kakailanganin mong i-paste ang sumusunod na code sa loob ng iyong solong post na loop:

wpb_set_post_views (get_the_ID ()); 

Kung gumagamit ka ng isang tema ng bata o nais mo lang gawing madali ang mga bagay para sa iyong sarili, dapat mo lamang idagdag ang tracker sa iyong header gamit ang wp_head hook. Kaya i-paste ang sumusunod na code sa mga function.php ng ​​iyong tema o plugin ng tukoy sa site:

function wpb_track_post_views ($ post_id) {
     kung (! is_single ()) bumalik;
     kung (walang laman ($ post_id)) {
         global $ post;
         $ post_id = $ post-> ID;
     }
     wpb_set_post_views ($ post_id);
 }
 add_action ('wp_head', 'wpb_track_post_views'); 

Sa sandaling mailagay mo na ito, sa tuwing dumalaw ang isang user sa post, maa-update ang custom na field.

Tandaan: Kung gumagamit ka ng caching plugin, ang pamamaraan na ito ay HINDI magtrabaho sa pamamagitan ng default. Gumagamit kami ng W3 Total Cache, at mayroon itong tampok na tinatawag na Fragmented Caching. Maaari mo itong gamitin upang gawing mas mainam ang gawaing ito. Narito ang kailangang baguhin:


Ngayon, maaari mong gawin ang lahat ng mga uri ng mga cool na bagay tulad ng display post view count, o pag-uri-uriin ang mga post sa count ng panonood. Hinahayaan bistahan kung paano gawin ang ilan sa mga cool na bagay.

Kung nais mong ipakita ang bilang ng pagtingin sa post sa iyong nag-iisang pahina ng post (kadalasan sa tabi ng bilang ng komento o isang bagay). Pagkatapos ay ang unang bagay na kailangan mong gawin ay idagdag ang mga sumusunod sa mga function.php ng ​​iyong tema o ang site-specific na plugin.

function wpb_get_post_views ($ postID) {
     $ count_key = 'wpb_post_views_count';
     $ count = get_post_meta ($ postID, $ count_key, true);
     kung ($ count == '') {
         delete_post_meta ($ postID, $ count_key);
         add_post_meta ($ postID, $ count_key, '0');
         bumalik "0 View";
     }
     ibalik ang $ count. '  Mga Pagtingin ';
 } 

Pagkatapos ay sa loob ng iyong post loop idagdag ang sumusunod na code:

wpb_get_post_views (get_the_ID ()); 

Kung nais mong pagbukud-bukurin ang mga post ayon sa bilang ng panonood, maaari mong gawin ito nang madali sa pamamagitan ng paggamit ng parameter na w_m_query post_meta. Ang pinakasimpleng halimbawa ng query sa loop ay magiging ganito:

4, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC'));
 habang ($ popularpost-> have_posts ()): $ popularpost-> the_post ();

 Ang pamagat();

 habang panahon;
 ?> 

Upang magdagdag ng iba pang mga parameter ng WP_Query tulad ng hanay ng oras, sumangguni sa pahina ng WP_Query sa Codex.

Inaasahan naming nasiyahan ka sa post na ito.