如何在主页上显示仅供编辑使用的待定帖子

时间:2013-06-23 作者:jjj

我正在做一个项目,编辑需要在主页上看到待处理的帖子,以便在发布之前对其进行改进。

也许这与循环有关:

如果已记录编辑器:

if ( current_user_can(\'edit_post\') ) {
    display the pending posts
}
显示发布和挂起帖子的参数:

$args = array( \'post_type\' => \'post\', \'post_status\' => \'publish, pending\' );
完成的循环:

<?php
if ( current_user_can(\'edit_post\') ) {
    $args = array( \'post_type\' => \'post\', \'post_status\' => \'publish, pending\' );
} else {
    $args = array( \'post_type\' => \'post\', \'post_status\' => \'publish\' );
}
$wp_query = new WP_Query($args); while ( have_posts() ) : the_post(); ?>

…the content here...

<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>
这对我有用。

你认为这是正确的吗?

也许代码可以改进。

谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

我会过滤pre_get_posts.

function allow_pending_posts_wpse_103938($qry) {
  if (!is_admin() && current_user_can(\'edit_posts\')) {
    $qry->set(\'post_status\', array(\'publish\',\'pending\'));
  }
}
add_action(\'pre_get_posts\',\'allow_pending_posts_wpse_103938\');
这应该说明pending 在前端向编辑器发布所有查询。当然,如果你愿意,你可以限制更多。

我会添加一些代码来标记挂起的帖子,以便您的编辑一眼就能知道什么是挂起的。

结束

相关推荐

Child Pages Loop

如果有人能帮忙那就太好了。我找到了一段我使用过的代码,它基本上完成了我希望它完成的任务,列出了父级的子页面,如果有缩略图,则添加缩略图,并添加了自定义摘录。然而,问题是我不能添加个人<?php post_class(); ?> 对于循环中的div,它使用来自父级的类并对子页重复。<?php $child_pages = $wpdb->get_results(\"SELECT * FROM $wpdb->posts WHERE post_parent = \".$pos