从Wordpress取消注册自定义帖子类型

Nik*_*her 4 php wordpress custom-post-type

我试图删除在WordPress的通过不同的主题设置,现在所有这些职位被分配到一个自定义后类型post_typeportfolio.经过大量的搜索,我找到了下面的代码,但它似乎没有用.我尝试将它添加到新主题和旧主题中functions.php.

我想删除post_type并将帖子分类并显示为普通帖子.我认为我正在做的是正确的,但似乎无法让它工作 - 我已经发布了自定义帖子类型的代码和取消注册分配给它的帖子的代码.

用于注销帖子类型的代码

if ( ! function_exists( 'unregister_post_type' ) ) :
function unregister_post_type() {
global $wp_post_types;
if ( isset( $wp_post_types[ 'portfolio' ] ) ) {
    unset( $wp_post_types[ 'portfolio' ] );
    return true;
}
return false;
}
endif;

add_action('init', 'unregister_post_type');
Run Code Online (Sandbox Code Playgroud)

注册帖子类型的代码

register_post_type( 'portfolio',
    array(
        'labels' => array(
             'name' => __('Portfolio Items'),
             'singular_name' => __('Portfolio Item'),
             'add_new_item' => __('Add New Portfolio Item'),
             'edit_item' => __('Edit Portfolio Item'),
             'new_item' => __('New Portfolio Item'),
             'view_item' => __('View Portfolio Item'),
             'search_items' => __('Search Portfolio Items'),
             'not_found' => __('No portfolio items found'),
             'not_found_in_trash' => __('No portfolio items found in Trash')
        ),
        'public' => true,
        'show_ui' => true,
        'hierarchical' => false,
        'menu_position' => 7,
        //'rewrite' => array('slug' => 'portfolio'),
        'rewrite' => true,
        '_built_in' => false,
        'taxonomies' => array( 'post_tag','category','portfolio_tag', 'portfolio_category', 'client'),
        'supports' => array( 'title','editor','author','thumbnail','excerpt','trackbacks','custom-fields','comments','revisions')
    )
);
Run Code Online (Sandbox Code Playgroud)

小智 6

我能够使用以下代码在WordPress 4.6.1中删除它:

function delete_post_type(){
  unregister_post_type( 'portfolio' );
}
add_action('init','delete_post_type', 100);
Run Code Online (Sandbox Code Playgroud)