我需要检查当前用户是否为自定义帖子类型的作者

时间:2012-10-04 11:36:29

标签: php wordpress custom-post-type

我想写一个条件语句(在下面用伪解释)

IF current logged in user is 'Author' to a custom-post-type called 'farmers' {
// Do something
} else {
// Do something else
}

到目前为止我的代码工作是

<?php
// Global variable for current user ID
$user_ID;

// Create a new WP query object           
$my_query = new WP_Query( array(
'post_type' => 'farmers',
'author' => $user_ID
));

// Get all the current user posts from the query object
$posts = $my_query->posts;

IF $posts = 0 {
// Do something
} else {
// Do Something else
} ?>

用户可以在系统中拥有“作者”角色,但不一定有任何帖子。所以我需要检查这个作者实际上有一个帖子的条件。我只是不确定如何在代码的末尾编写IF语句并寻求帮助。

由于

3 个答案:

答案 0 :(得分:0)

你可以这样试试......

   if($user_session_id == $author_id) {
    // Do something
    } else {
    // Do something else
    }

答案 1 :(得分:0)

对于希望查看特定帖子的任何人,您都可以查看

get_current_user_id() == get_post($your_post_id)->post_author

或者在WordPress循环中,您可以检查是否

get_current_user_id() == $post->post_author

为了完整起见,以下内容回答了原始问题。这将检查当前用户是否是属于自定义帖子类型的任何帖子的作者;在这种情况下,farmers

$my_query = new WP_Query( array(
  'post_type' => 'farmers',
  'author' => get_current_user_id()
));

if ( $my_query->have_posts() ) {
  // Do something
} else {
  // Do Something else
}

答案 2 :(得分:-1)

使用类似的东西

$query="select * from posts where type='farmers'";
$result=mysql_query($query);
$valid=false;
if(mysql_num_rows($result)>0){
$valid=true;
}


if($_SESSION["id"]==$posts["id"]){
//your code
}else{
//your code
}

if(mysql_num_rows($posts)>0){
// user have post
 }