对我来说,一个用户只能完成1次功能。 如果重试,将不会发生任何事情。 如果另一个用户登录,该功能将为他执行,但仅执行一次。 以此类推。 有必要在每页上分别重复进行检查。 并且没有转到single.php中的其他页面
我的功能
if( current_user_can('author') || current_user_can('editor') || current_user_can('administrator') ){
function setPostViews($postID) {
$count = get_post_meta($postID, 'post_count', true);
$count++;
update_post_meta($postID, 'post_count', $count);
echo $count.;
}
}
有人知道该怎么做吗?
答案 0 :(得分:0)
这可能对某人有用,这是可以两次禁用该功能的代码。
function function_views($postID) {
if( current_user_can('author') || current_user_can('editor') || current_user_can('administrator') ){
$user_id_views_check = get_current_user_id();
$check_views = get_user_meta( $user_id_views_check, 'meta_check_views', true );
if ( !$check_views || !isset($check_views[$postID]) ){ //
$check_views[$postID] = 1;
update_user_meta($user_id_views_check, 'meta_check_views', $check_views);
echo 'TEST views';
$number_views = get_post_meta($postID, 'views_registration', true);
$number_views++;
update_post_meta($postID, 'views_registration', $number_views);
}}}
仅适用于注册用户。插入到functions.php文件中
使用显示结果
function setPostViews($postID) {
$number_views = get_post_meta($postID, 'views_registration', true);
echo $number_views.' Views';
}
为了显示插入它
<?php function_views(get_the_ID()); ?>
计数和
<?php setPostViews(get_the_ID()); ?>
提款