我正在创建一个后端仪表板,需要在其中显示分配给的所有帖子current user 由wp提供admin.
我将用户角色分配给Author 在创建帖子时(作为wp管理员),只需从“作者”下拉列表中将此帖子分配给某个作者即可。
所以我需要显示带有状态的帖子Publish. 我现在使用的是简单查询帖子,但它会返回所有帖子。
global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID; // for current user it is 2
$query = array(
\'post_type\' => \'post\',
\'post_author\' => $user_id,
\'post_status\' => array(\'publish\')
);
$my_posts = query_posts($query);
我还硬编码
post_author 至2
我也试过了$my_post = new WP_Query(array( \'post_author\' => \'2\' ));
但失败了。
SO网友:kaiser
以下迷你插件添加了一个仪表板小部件,用于查询当前用户的帖子publish
作为post状态。你可以看到get_current_user_id()
正在使用中。
<?php
defined( \'ABSPATH\' ) OR exit;
/**
* Plugin Name: (#91605) Dashboard Widget - User posts
*/
add_action( \'wp_dashboard_setup\', \'wpse91605_dbwidget_user_posts\' );
function wpse91605_dbwidget_user_posts()
{
wp_add_dashboard_widget(
\'wpse91605_dbwidget_user_posts\'
,_e( \'Your published posts\', \'your_textdomain\' )
,\'wpse91605_dbwidget_user_posts_cb\'
);
}
function wpse91605_dbwidget_user_posts_cb()
{
$query = new WP_Query( array(
\'author\' => get_current_user_id()
,\'post_status\' => \'publish\'
,\'posts_per_page\' => -1
,\'showposts\' => -1
,\'nopaging\' => true
) );
if ( $query->have_posts() )
{
?><ul><?php
while( $query->have_posts )
{
the_post();
?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a></li>
<?php
}
?></ul><?php
}
}