Làm thế nào để Hiển thị Phổ biến các bài viết theo Lượt xem trong WordPress mà không có một Plugin

Trước đây, chúng tôi đã giới thiệu cho bạn cách tạo một tabber bài đăng phổ biến trong WordPress sử dụng plugin. Plugin đó hoạt động tốt trên các hộp cho các tabbers. Tuy nhiên, chúng tôi muốn tùy biến thêm trong bố cục của chúng tôi, vì vậy chúng tôi quyết định làm điều đó mà không cần plugin. Trong bài này, chúng tôi sẽ chỉ cho bạn cách theo dõi và hiển thị các bài viết phổ biến theo lượt xem trong WordPress mà không cần sử dụng bất kỳ plugin nào.

Một ví dụ về hiển thị bài đăng phổ biến của chúng tôi được hiển thị trong ảnh chụp màn hình dưới đây:

Ví dụ về bài học phổ biến

Điều đầu tiên chúng ta cần làm là tạo ra một chức năng sẽ phát hiện lượt xem lượt đếm và lưu nó như là một trường tùy chỉnh cho mỗi bài đăng. Để thực hiện việc này, hãy dán mã sau vào tệp tin functions.php của chủ đề hoặc tốt hơn trong một plugin dành riêng cho trang web:

hàm wpb_set_post_views ($ postID) {
     $ count_key = 'wpb_post_views_count';
     $ count = get_post_meta ($ postID, $ count_key, true);
     if ($ 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);
     }
 }
 // Để giữ tính chính xác, hãy thoát khỏi việc tìm nạp trước
 remove_action ('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

Bây giờ bạn đã có chức năng này tại chỗ, chúng ta cần phải gọi chức năng này trên các trang bài viết duy nhất. Bằng cách này, chức năng biết chính xác bài đăng nào sẽ nhận được tín dụng cho các chế độ xem. Để làm điều này, bạn sẽ cần phải dán mã sau đây bên trong vòng lặp đăng đơn của bạn:

wpb_set_post_views (get_the_ID ()); 

Nếu bạn đang sử dụng một chủ đề con hoặc bạn chỉ muốn làm mọi việc dễ dàng cho mình, thì bạn chỉ cần thêm trình theo dõi trong tiêu đề của mình bằng cách sử dụng móc nối wp_head. Vì vậy, dán đoạn mã sau vào tệp tin functions.php của chủ đề hoặc plugin dành riêng cho trang web:

chức năng wpb_track_post_views ($ post_id) {
     nếu (! is_single ()) trở lại;
     if (empty ($ post_id)) {
         bài đăng toàn cầu $;
         $ post_id = $ post-> ID;
     }
     wpb_set_post_views ($ post_id);
 }
 add_action ('wp_head', 'wpb_track_post_views'); 

Khi bạn đã đặt điều này, mỗi khi người dùng truy cập vào bài đăng, trường tùy chỉnh sẽ được cập nhật.

Lưu ý: Nếu bạn đang sử dụng một plugin bộ nhớ đệm, kỹ thuật này sẽ KHÔNG hoạt động theo mặc định. Chúng tôi đang sử dụng W3 Total Cache, và nó có tính năng được gọi là Fragmented Caching. Bạn có thể sử dụng nó để làm việc này tốt. Đây là những gì cần phải thay đổi:


Bây giờ, bạn có thể thực hiện tất cả các công cụ thú vị như số lần xem bài đăng, hoặc sắp xếp các bài viết theo lượt xem. Cho phép xem làm thế nào để làm một số trong những điều mát mẻ.

Nếu bạn muốn hiển thị số lần xem bài đăng trên các trang đăng duy nhất của bạn (thường bên cạnh số nhận xét hoặc cái gì đó). Sau đó, điều đầu tiên bạn cần làm là thêm vào tệp tin functions.php của chủ đề hoặc plugin dành riêng cho trang web.

hàm wpb_get_post_views ($ postID) {
     $ count_key = 'wpb_post_views_count';
     $ count = get_post_meta ($ postID, $ count_key, true);
     if ($ count == '') {
         delete_post_meta ($ postID, $ count_key);
         add_post_meta ($ postID, $ count_key, '0');
         trở lại "0 Xem";
     }
     trở lại đếm $. '  Lượt xem';
 } 

Sau đó, trong vòng đăng bài của bạn thêm mã sau đây:

wpb_get_post_views (get_the_ID ()); 

Nếu bạn muốn sắp xếp các bài viết theo số lượt xem, bạn có thể làm như vậy một cách dễ dàng bằng cách sử dụng tham số wp_query post_meta. Ví dụ về truy vấn vòng lặp cơ bản nhất sẽ như sau:

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

 tiêu đề();

 cuối cùng;
 ?> 

Để thêm các tham số WP_Query khác như khoảng thời gian, hãy tham khảo trang WP_Query trên Codex.

Chúng tôi hy vọng rằng bạn thích bài này.