Wordpress声称管理员用户ID为所有帖子的作者

时间:2013-11-26 22:41:41

标签: wordpress

我正在使用this tutorial为我的博客帖子创建一个前端编辑页面。我需要添加一个检查,以查看当前登录的用户是否是正在编辑的帖子的作者。如果他们不是,那么我将用一条消息替换该表格。

问题是由于某种原因,Wordpress报告管理员用户ID是所有帖子的作者,这意味着我的逻辑正在破坏(或者更确切地说,只有当我以管理员身份登录时它才有效)。真正奇怪的是,如果我通过管理仪表板编辑帖子,作者被正确记录(即所有帖子都没有列为'admin')。

帮助!

2 个答案:

答案 0 :(得分:0)

帖子ID可以通过教程中的$_GET变量获得:

if ( $_GET['post'] == $post->ID )
{
    $current_post = $post->ID;
}

作者ID也位于帖子对象中:

$author_id = $post->post_author;

与当前用户的ID进行比较:

if( get_current_user_id() == $author_id ){
    // current user is the author of the post
} else {
    // current user is NOT the author of the post
}

答案 1 :(得分:0)

使用此代码

将当前用户与帖子作者进行比较
$author = $post->post_author; 

global $current_user;

get_currentuserinfo();

if ($author == $current_user->ID){

echo "You are the author of this post";
}
else
{
echo "You are not the author of this post";
}

>