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

Wordpress声称管理员用户ID是所有帖子的作者,wordpress,Wordpress,我正在使用为我的博客帖子创建前端编辑页面。我需要添加一个检查,看看当前登录的用户是否是正在编辑的帖子的作者。如果他们没有,那么我将用消息替换表单 问题是出于某种原因Wordpress报告管理员用户ID是所有帖子的作者,这意味着我的逻辑正在崩溃(或者说,只有当我以管理员身份登录时,它才起作用)。真正奇怪的是,如果我通过管理仪表板编辑文章,作者会被正确地记录下来(也就是说,它不会被列为所有文章的“管理员”) 救命啊 文章ID可通过教程中的$\u GET变量获得: if ( $_GET['post']

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

问题是出于某种原因Wordpress报告管理员用户ID是所有帖子的作者,这意味着我的逻辑正在崩溃(或者说,只有当我以管理员身份登录时,它才起作用)。真正奇怪的是,如果我通过管理仪表板编辑文章,作者会被正确地记录下来(也就是说,它不会被列为所有文章的“管理员”)


救命啊

文章ID可通过教程中的
$\u GET
变量获得:

if ( $_GET['post'] == $post->ID )
{
    $current_post = $post->ID;
}
作者ID也位于post对象中:

$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
}

使用此代码将当前用户与文章作者进行比较

$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";
}

?>

有什么地方我应该添加这种逻辑吗?如果我把它添加到have_posts部分,它会为网站上的每一篇文章触发,如果我把它放在作者身份证无法通过的表格中…?谢谢,我相信如果WP没有表现得这么奇怪,这会起作用。因为它仍然认为所有帖子都是由管理员id编写的。。。这才是真正的问题……如果你以管理员的身份进入由作者创建的帖子并进行更新/保存,那么管理员将成为帖子的作者。我觉得wordpress有点奇怪,确实有点烦人。。。