add_post_meta在我的页面上打印出'6'

时间:2013-08-09 14:58:03

标签: wordpress

我想要做的是每次登录用户打开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;试。

2 个答案:

答案 0 :(得分:2)

the_ID正在打印帖子ID。使用get_the_ID无需打印即可将其返回。

答案 1 :(得分:1)

您在函数调用中使用the_ID()the_ID() 显示屏幕的ID。您想要使用get_the_ID()。这将为您提供可用于函数调用的可用ID。