父主题注册名为risen_event的自定义帖子类型。我决定使用另一个日历插件,因此想要从用户中删除此管理菜单项。
在子主题中,我尝试了这个功能,但它不起作用
if ( ! function_exists( 'unregister_post_type' ) ) :
function unregister_post_type( $post_type ) {
global $wp_post_types;
if ( isset( $wp_post_types[ $post_type ] ) ) {
unset( $wp_post_types[ $post_type ] );
return true;
}
return false;
}
endif;
答案 0 :(得分:4)
如果你要做的就是隐藏管理菜单项,请将它放在你孩子主题的functions.php文件中:
function hide_menu_items() {
remove_menu_page( 'edit.php?post_type=your_post_type_url' );
}
add_action( 'admin_menu', 'hide_menu_items' );
将鼠标悬停在管理员菜单项上并查看该网址,以获取要在该功能中使用的正确网址。这不会取消注册帖子类型,只需隐藏管理菜单项。这样就可以保留帖子类型,以防您以后决定要使用它。
答案 1 :(得分:0)
根据您发布的代码,您似乎没有调用此功能。
但是调用不能直接,你必须把它包装在一个动作中,比如:
add_action( 'init', 'so_13666286_init', 11 );
function so_13666286_init()
{
unregister_post_type( 'risen_event' );
}
或使用其他技术:
add_action( 'after_setup_theme','so_13666286_remove_action', 100 );
function so_13666286_remove_action()
{
remove_action( 'init', 'the_init_function_that_creates_the_cpt' );
}