我正在使用this tutorial为我的博客帖子创建一个前端编辑页面。我需要添加一个检查,以查看当前登录的用户是否是正在编辑的帖子的作者。如果他们不是,那么我将用一条消息替换该表格。
问题是由于某种原因,Wordpress报告管理员用户ID是所有帖子的作者,这意味着我的逻辑正在破坏(或者更确切地说,只有当我以管理员身份登录时它才有效)。真正奇怪的是,如果我通过管理仪表板编辑帖子,作者被正确记录(即所有帖子都没有列为'admin')。
帮助!
答案 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";
}
>