Get all posts by post_author

时间:2013-03-20 作者:Muhammad Sajid

我正在创建一个后端仪表板,需要在其中显示分配给的所有帖子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\' ));

但失败了。

3 个回复
SO网友:Karlis Rode

最短的答案是将“post\\u author”改为“author”,因为这是key WP is looking for. 如果密钥不正确或拼写错误,它将被忽略,就像“post\\u author”一样。

SO网友:Muhammad Sajid

感谢[谢赫·赫拉][1]

if ( is_user_logged_in() ):
    global $current_user;
    get_currentuserinfo();
    $author_query = array(
        \'posts_per_page\' => \'-1\',
        \'author\' => $current_user->ID
    );
    $author_posts = new WP_Query($author_query);
    while($author_posts->have_posts()) : $author_posts->the_post();
?>
        <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<?php           
    endwhile;
else :

    echo "not logged in";
endif;


  [1]: https://stackoverflow.com/users/741747/sheikh-heera

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

结束

相关推荐

wp_posts - guid update

您好,如果之前已经回答过,请原谅,但我们确实需要确保。我们在自己的域名下开发了一个网站,然后将其移动到客户的实时网站。为了更新到新的url,我们在db中运行了一些sql查询,但当我们在数据库中搜索域名时,我们在表wp\\U POST中得到了600多个匹配项(大部分是修订,但也有附件和POST)。我们在《WP法典》中读到,我们不应该更新该专栏,但我们不太确定如果我们这样做,会对网站产生怎样的影响。这些文件仍在我们的域中,我们需要删除它们,但我们认为,由于数据库中仍有调用我们域的实例,如果我们这样做,可能会出