删除自定义帖子类型中的所有、已发布和垃圾帖子视图

时间:2011-07-08 作者:Eugene

我想删除编辑帖子屏幕中的以下文本链接:

所有(8)|已发布(5)|草稿(1)|待定(2)|垃圾(2)

搜索后,我发现这可以通过以下代码完成here, 但遗憾的是,它只适用于“post”类型。我无法使其与我的自定义帖子类型兼容:

add_action( \'views_edit-post\', \'remove_edit_post_views\' );
function remove_edit_post_views( $views ) {
        if( get_post_type() === \'movie\' )  {
            unset($views[\'all\']);
            unset($views[\'publish\']);
            unset($views[\'trash\']);
        }

        return $views;
}
我的代码怎么了?

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

在您链接到的页面的下方是以下评论:

类似的视图可以通过挂接到“views\\”进行编辑$屏幕->id,其中$screen是全局$current\\u屏幕(或get\\u current\\u screen())。Draft、Pending、Mine和Sticky都可以以类似的方式删除。

当您编辑帖子时,您处于“编辑帖子”屏幕上,因此您使用的操作是views_edit-post. 如果您使用的是一个名为“gallery”的自定义帖子类型,则编辑屏幕为“edit gallery”,您可以挂接到views_edit-gallery 行动

在你的情况下,我会做以下事情:

function remove__views( $views ) {
    unset($views[\'all\']);
    unset($views[\'publish\']);
    unset($views[\'trash\']);

    return $views;
}

add_action( \'views_edit-post\',  \'remove_views\' );
add_action( \'views_edit-movie\', \'remove_views\' );
这将从帖子和自定义帖子类型“电影”中删除“全部”、“发布”和“垃圾”从其他帖子类型中删除这些视图非常简单,只需添加以下行:

add_ection( \'views_edit-{post-type-slug}\', \'remove_views\' );
只需更换{post-type-slug} 使用自定义帖子类型的名称。

SO网友:Andrew T

我也在做类似的事情,抓取了这段代码,意识到“草稿”仍然出现,所以一些测试表明您可以只做一行:

unset($views);
如果您的目标是删除整条线,那么这将删除所有这些内容。我在WP 3.5 FWIW上。

结束

相关推荐

Merge posts plugin?

有谁知道有一个插件能够将帖子元从一篇帖子合并到另一篇帖子中吗?我正在重新发布浮木联系人管理器主题,并试图找到解决重复联系人问题的方法。显然,这个问题可能影响的人远远不止我自己。:)