我想要做的是每次登录用户打开single.php我都会记录一个post meta活动。基本上我想知道每次登录用户阅读帖子。所以我把它放在循环中的single.php中并检查用户是否登录后。
首先我得到的只是' 6' (在我的帖子中,这是帖子ID),所以我添加了一些回声来找到哪个功能正在做,这就是结果。
echo "before post meta<br />";
add_post_meta( the_ID(), 'post_read', (string)$current_user->ID );
echo "after post meta<br />";
在我的帖子中打印出来:
before post meta
6after post meta
为什么add_post_meta打印&#39; 6&#39; (帖子ID)?我怎么能摆脱它?顺便提一下,我:
$post_reads = get_post_custom_values('post_read', the_ID());
我得到的只是&#39; 6&#39;试。
答案 0 :(得分:2)
the_ID
正在打印帖子ID。使用get_the_ID
无需打印即可将其返回。
答案 1 :(得分:1)
您在函数调用中使用the_ID()
。 the_ID()
显示屏幕的ID。您想要使用get_the_ID()
。这将为您提供可用于函数调用的可用ID。