[Tuts] Lấy bài viết liên quan dựa trên số lượt xem

widget hiển thị bài viết liên quan trong wordpress

Hôm nay mình sẽ chia sẻ cho các bạn một tuts về cách hiển thị bài viết liên quan nhưng có độ ưu tiên theo lượt xem.

Vấn đề hiển thị bài viết liên quan trong WordPress

Có lẽ, nhắc tới chủ đề này có khi là quá cũ bởi trên thế giới cũng như trên cộng đồng WordPress đã có rất nhiều bài giới thiệu. Giới thiệu từ việc cài plugin tới code tay từ đầu… Tất tần tật nếu như bạn là newbie thì chỉ việc Google hoặc WordPress.com search cụm từ related post là ra cả đống.
Ví dụ:

  • Intelly Related Posts (Mình Recommend sử dụng plugin này) Intelly Related Posts Plugin này cho phép thêm bài viết liên quan ngay trong nội dung của bài viết. Hình thức này ta hay gặp nhiều trong các trang báo điện tử (Dân trí, Zing News…). Ưu điểm của plugin này cho phép tùy biến khá cao. Từ màu sắc đến hiển thị ảnh nhỏ…
  • Similar Posts – Best Related Posts Plugin for WordPress Similar Posts Plugin này cho phép bạn tùy biến bài viết liên quan rất nhiều. Từ lọc theo tác giả, danh mục bài viết, theo tag…

Ôi vậy thì bài viết này ra đời làm cái quái gì???

Bài viết này mình sẽ hướng dẫn các bạn làm cách hiển thị bài viết liên quan trong WordPress nhưng có độ ưu tiên theo lượt xem. Có nghĩa là chúng ta sẽ lấy ra 1 bài viết liên quan nhất đến bài viết hiện tại mà người đọc đang xem nhưng có số lượt view cao nhất. Mục đích ở đây mình muốn là đưa người đọc thấy những bài viết có nhiều người cùng xem nhất. Từ đó có thể khiến người dùng ở lại website của mình lâu hơn hoặc đọc nhiều bài hơn.

Tuy nhiên mình lại không thích sử dụng plugin để làm việc này vì mình không thể kiểm soát được nó. OK bắt đầu công việc nào.
Vậy để thực hiện được bài này chúng ta cần những gì?

  1. Sử dụng WP_Query để lấy bài viết liên quan
  2. Sử dụng add_post_meta để thêm chức năng đếm lượt xem của một bài viết.

Đếm lượt xem bài viết sử dụng Post Meta

Trước tiên, chúng ta cần xây dựng hai hàm trong tập tin function.php

  • getPostView – Lấy ra số lượt xem của một bài viết
  • setPostView – Tăng số lượt xem bài viết khi có người view

Dưới đây là đoạn code của hai hàm mà Sharecodeweb cũng đang sử dụng để đếm số lượt xem:

Sau đó đặt đoạn code sau vòng lặp Loop để thực hiện lấy số lượt view. (Tương tự đối với hàm hiển thị số lượt xem)

Tuy nhiên, nếu bạn nào sử dụng W3 Total Cache thì hàm trên có thể không hoạt động. Do đó cần tùy chỉnh lại như sau:

Xem tiếp phần 2 lấy các bài viết liên quan

Nguyễn Trung Hiếu

Một blogger ... cùi bắp! Đơn giản: tôi muốn ghi lại những gì xảy ra xung quanh, cả công việc lẫn cuộc sống và chia sẻ với các bạn đọc. Nếu bạn cảm thấy bài viết có nhiều điểm không chính xác, hãy comment và chia sẻ để tôi còn được học hỏi từ những góp ý của bạn. Email: hieunt.dcn@gmail.com