Hi giải thích hơi dài dòng tí. Để giải quyết vấn đề trên chúng ta cần làm theo thứ tự nhé.
đầu tiên là code thiết lập lượt view khi khách xem xong.chúng ta chèn đoạn code sau vào file function.php của themes.
function setPostViews($postID) {
$count_key = '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);
}
}có được code này rồi thì mỗi khi khách click vào link đọc bài ta lại gọi hàmsetPostViews để thiết lập lượt views tăng lên 1.Harry sẽ gọi hàm đó tại file Single.php
if (have_posts()) : while (have_posts()) : the_post();
setPostViews(get_the_ID());.....
nếu có bài viết thì sẽ tăng lượt view.
và muốn hiển thị số lượt view ta dùng function sau
function getPostViews($postID){
$count_key = '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');
return "0 View";
}
return $count.' Views';
}hàm sẽ trả về giá trị lượt view cho mỗi bài viết. còn nhiệm vụ của bạn là hiển thị lượt view đó tại đâu mà thôi.
<?php echo getPostViews(get_the_ID()); ?>Như vậy là đã hoàn thành thiết lập lượt view và hiển thị nó.Các bạn có thể tùy biến một chút để hiển thị các bài viết có nhiều lượt view nhất trong tháng.bằng cách dùng câu lệnh query.
query_posts('meta_key=post_views_count&year=$current_year&monthnum=$current_month&posts_per_page=5&orderby=meta_value_num&order=DESC');và kết hợp với bài
Code Bài Viết Nổi Bật Wordpress
để chúng ta có một chức năng như ý muốn nhé.
No comments:
Post a Comment