0

我想要做的是每次登录用户打开 single.php 时,我都会记录一个帖子元活动。基本上我想知道每次登录用户阅读帖子时。所以我把它放在循环内的 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 打印“6”(帖子 ID)?我怎样才能摆脱它?顺便说一句,当我:

$post_reads = get_post_custom_values('post_read', the_ID()); 

我得到的只是'6'。

4

2 回答 2

2

the_ID正在打印帖子 ID。用于get_the_ID退回而不打印。

于 2013-08-09T15:10:51.790 回答
1

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

于 2013-08-09T15:11:31.797 回答