我正在尝试显示后期视图计数。
我已经尝试了下面的函数来显示后期视图计数,但我得到的所有循环中的后期视图都是相同的。无法获取正确的后期视图计数。
Function:
<?php
// function to display number of posts.
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\';
}
// function to count views.
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);
}
}
// Add it to a column in WP-Admin
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());
}
}
?>
Loop Code:
<ul>
<?php $the_query = new WP_Query( \'showposts=5\' ); ?>
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php echo getPostViews(get_the_ID()); ?> //post View COde
<?php echo substr(strip_tags($post->post_content), 0, 250);?></li>
<?php endwhile;?>
</ul>
需要建议在while循环中显示正确的后期视图计数
SO网友:Abdo-Host
将此添加到single。php,并确保粘贴到循环内部。
<?php setPostViews(get_the_ID()); ?>
最后,要显示帖子的视图数,只需将其添加到要显示的位置:
<?php echo getPostViews(get_the_ID()); ?>
。
<?php
// function to display number of posts.
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\';
}
// function to count views.
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);
}
}
?>