编辑/删除wp_dashboard_recent_draft()

时间:2015-09-06 作者:Erfo

我想从仪表板(管理面板)中的小部件“快速草稿”中删除草稿帖子。我想查看小编辑器(快速草稿),但我不想显示最后草稿的列表。

要删除/编辑的相对函数为wp_dashboard_recent_drafts()

它在里面/wp-admin/includes/dashboard.php .

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

更新答案:

让我们修改相应的仪表板查询,使其不返回草稿帖子。

示例:

如果我正确回忆起默认的Hello WorldID=1 默认的示例页面ID=2.

所以如果我们ID=2, 然后我们可以删除草稿列表,因为它正在获取post 岗位类型。

自WordPress 4.4(参见#8243) 这个dashboard_recent_drafts_query_args 过滤器可用,这样可以轻松地仅针对相关查询:

/**
 * Remove recent post drafts under the Quick Draft on the dashboard
 *
 * @link http://wordpress.stackexchange.com/a/201910/26350
 */
add_filter( \'dashboard_recent_drafts_query_args\', function( $args )
{
    // Adjust parameters to your needs to return empty results
    $args[\'post_type\'] = \'post\'; 
    $args[\'p\'] = 2; 

    return $args;
} );
希望您可以根据需要调整此参数,如果需要,还可以使用其他参数。

另一种方法是使用$args[\'post__in\'] = [0]; 生成wp_posts.ID IN (0) 其中部分。我想我已经在这个网站上的一些答案中看到了这种方法,但不记得在哪里。如果我们使用null, \'\' 甚至false 代替0 因为它是taken through absint() 通过array_map().

结果如下:

quick draft

SO网友:Monkey Puzzle

你愿意把它藏起来吗?如果是:

add_action(\'admin_head\', \'hide_quickdrafts\');

function hide_quickdrafts() {
  echo \'<style>
    #dashboard_quick_press .drafts {
    display:none;
    } 
  </style>\';
}