Ở bài viết này mình sẽ hướng dẫn các bạn cách để hiển thị lượt xem trong bài viết. Ở đây mình không dùng plugin, mà sẽ chèn code trực tiếp vào file function.php của child theme Flatsome nhé.
Code đếm và hiển thị số lượt xem
Bước 1: Code đếm và hiển thị lượt xem trong db
Thêm đoạn code dưới đây vào file function.php
//B11: Codfe.com code lấy lượt xem
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 "01 lượt xem";
}
return $count.' lượt xem';
}
//B12: Codfe.com code đếm lượt xem
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);
}
}
//B13: Codfe.com code hiển thị số lượt xem trong dashboard
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
$defaults['post_views'] = __('Views');
return $defaults;
}
function posts_custom_column_views($column_name, $id){
if($column_name === 'post_views'){
echo getPostViews(get_the_ID());
}
}
Bước 2: Thêm code hiển thị lượt xem
Đây là bước hiển thị lượt xem ra bài viết
//B21: Codfe.com Đếm view trong post
function codfe_count(){
if ( is_single() ) :
setPostViews(get_the_ID());
endif;
}
add_action( 'flatsome_after_header', 'codfe_count' );
//B22: Codfe.com Overwrite hàm flatsome_posted_on để viết lại mô tả post
// Prints HTML with meta information for the current post-date/time and author.
function flatsome_posted_on() {
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
}
$time_string = sprintf( $time_string,
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() ),
esc_attr( get_the_modified_date( 'c' ) ),
esc_html( get_the_modified_date() )
);
$posted_on = sprintf(
esc_html_x( 'Posted on %s', 'post date', 'flatsome' ),
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
);
$byline = sprintf(
esc_html_x( 'by %s', 'post author', 'flatsome' ),
'<span class="meta-author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
);
echo
'<div class = "tp-post-meta">
<span class="posted-on"><i class="fa fa-address-book-o" aria-hidden="true"> </i>' . $posted_on . '|</span>
<span class="byline"><i class="fa fa-user-o" aria-hidden="true"> </i>' . $byline . '|</span>
<span class="tp-post-view"><i class="fa fa-eye" aria-hidden="true"> </i>'.getPostViews(get_the_ID()).'|</span>
</div>';
}
Các bạn chép toàn bộ code này vào function.php ở theme child nhé.
Credit: Codfe
Bài viết liên quan
Tạo bảng Thông số kỹ thuật của sản phẩm bằng plugin Advanced Custom Fields (ACF)
Th2
Hướng dẫn thêm nội dung vào trước và sau giá sản phẩm
Th10
Một số CSS đẹp cho website WordPress
Th9
Tạo float menu sát lề website WordPress
Th9
Một số plugin bài viết liên quan trên WordPress
Th9
Những thay đổi mới trong Flatsome 3.14.3
Th9