自定义主题要从所有显示中删除一个类别

时间:2011-06-29 作者:dcolanduno

我为我的网站创建了自己的自定义Wordpress主题,一切都很好。然而,我有一个奇怪的需求,我有一个类别,它是一种自动内容的“占位符”,由自动后台进程使用。每次该过程发现新内容要放入该类别时,当我转到管理屏幕发布或编辑手动输入的任何帖子时,我都会得到另一个条目。因为这不仅仅是我自己,我真的很想找到一种方法来完全隐藏这一类别,使其不显示在管理员的“编辑/发布”屏幕中,以保持良好和精简。

我已经翻阅了一些源代码文件,然而,我已经到了沮丧的地步。一直在谷歌和其他地方搜索任何想法,但总是空空如也。

有没有人知道如何做到这一点,或者即使可以做到这一点?

谢谢

德里克

2 个回复
SO网友:kaiser

我能想到的唯一解决办法是删除、重写、替换元框。

// First remove the original one
function wpse21483_remove_catbox()
{
    remove_meta_box( \'post_categories_meta_box\', \'post\', \'side\' );
}
add_action( \'admin_menu\', \'wpse21483_remove_catbox\' ); // not sure about the hook

function wpse21483_new_catbox()
{
    // re-define - take a look at /wp-admin/include/metaboxes.php
}
// Hook the new one
add_action( \'add_meta_boxes\', \'wpse21483_new_catbox\' );
<小时>Edit: 也许您可以在类别下拉列表中使用过滤器

function wpse21483_alter_catbox( $output )
{
    global $current_screen;
    $id = $current_screen->id;
    // abort if not on post screen
    if ( $id !== \'post\' )
        return;

    // search/replace the category
    return $output;
}
add_filter( \'wp_dropdown_cats\', \'wpse21483_alter_catbox\', 10, 1 )

SO网友:mireille raad

我使用了一个名为Ultimate Category Excluder的插件,可以轻松地从您的首页、提要、搜索和归档中排除类别

http://www.planetmike.com/plugins/ultimate-category-excluder/

这对我有用:)

希望这是一个简单的解决方案

结束