如何在WordPress中為自定義帖子類型添加類別


您是否正在尋找一種將類別輕鬆添加到自定義帖子類型的方法?

類別是WordPress中的內置分類法之一,但默認情況下它們僅顯示在帖子中。

在本文中,我們將向您展示如何在WordPress中為自定義帖子類型添加類別。

在WordPress中為自定義帖子類型添加類別

什麼時候需要將類別添加到自定義帖子類型?

WordPress允許插件開發人員和網站所有者創建自己的內容類型。 與帖子和頁面相似,這些自定義帖子類型也可以具有自己的分類法,例如類別和標籤。

例如,如果您發布電影評論,則可能要為“電影”創建自定義帖子類型。

您可能還需要按適當的主題組織電影,因為這需要自定義分類法。 您可以創建一個稱為流派的分類法。

但是,如果要使用與電影帖子類型相同的類別來使用博客帖子,該怎麼辦?

這是當您需要為自定義帖子類型啟用類別時。 這樣一來,您就可以為博客文章和自定義文章類型使用相同的類別。

話雖如此,現在讓我們看一下如何輕鬆地在WordPress中為自定義帖子類型添加類別。

使用插件將類別添加到自定義帖子類型

如果您是初學者,建議您使用“自定義帖子類型” UI插件來創建自定義帖子類型。

使用“自定義帖子類型” UI插件,您可以選擇將自定義帖子類型與任何內置或自定義分類法(包括類別)相關聯。

首先,您需要安裝並激活“自定義帖子類型” UI插件。 有關更多詳細信息,請參閱有關如何安裝WordPress插件的分步指南。

安裝後,您需要訪問 CPT用戶界面»添加/編輯帖子類型 創建新的自定義帖子類型或編輯您使用插件創建的現有自定義帖子類型。

使用CPT UI插件編輯帖子類型

向下滾動到設置選項所在的底部。 從那裡,您將看到 分類法 區。

您需要選中類別旁邊的框並保存您的自定義帖子類型。

在WordPress中為自定義帖子類型打開類別

不要忘記單擊“保存帖子類型”按鈕來存儲您的設置。

現在,您可以編輯該特定帖子類型下的任何內容,並且您將在WordPress塊編輯器的右欄中看到選擇類別的選項。

類別已添加到自定義帖子類型

手動將類別添加到自定義帖子類型

如果您通過在主題的functions.php文件或特定於站點的插件中添加代碼來創建自定義帖子類型,則必須修改代碼以將類別添加為受支持的分類法。

您需要做的就是將這行添加到自定義帖子類型的參數中。

'taxonomies'  => array( 'category' ),

您的自定義帖子類型的現有代碼中可能已經包含此行,並且其中包含其他一些自定義分類法。 如果這樣做,則只需要在其後添加一個逗號並添加一個類別即可,如下所示:

'taxonomies'		  => array('topics', 'category' ),

這是一個完整的代碼示例,其中我們創建了一個自定義帖子類型,稱為“電影”,並支持內置類別。

function custom_post_type() {

// Set UI labels for Custom Post Type
	$labels = array(
		'name'                => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ),
		'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ),
		'menu_name'           => __( 'Movies', 'twentythirteen' ),
		'parent_item_colon'   => __( 'Parent Movie', 'twentythirteen' ),
		'all_items'           => __( 'All Movies', 'twentythirteen' ),
		'view_item'           => __( 'View Movie', 'twentythirteen' ),
		'add_new_item'        => __( 'Add New Movie', 'twentythirteen' ),
		'add_new'             => __( 'Add New', 'twentythirteen' ),
		'edit_item'           => __( 'Edit Movie', 'twentythirteen' ),
		'update_item'         => __( 'Update Movie', 'twentythirteen' ),
		'search_items'        => __( 'Search Movie', 'twentythirteen' ),
		'not_found'           => __( 'Not Found', 'twentythirteen' ),
		'not_found_in_trash'  => __( 'Not found in Trash', 'twentythirteen' ),
	);
	
// Set other options for Custom Post Type
	
	$args = array(
		'label'               => __( 'movies', 'twentythirteen' ),
		'description'         => __( 'Movie news and reviews', 'twentythirteen' ),
		'labels'              => $labels,
		'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
		'hierarchical'        => false,
		'public'              => true,
		'show_ui'             => true,
		'show_in_menu'        => true,
		'show_in_nav_menus'   => true,
		'show_in_admin_bar'   => true,
		'menu_position'       => 5,
		'can_export'          => true,
		'has_archive'         => true,
		'exclude_from_search' => false,
		'publicly_queryable'  => true,
		'capability_type'     => 'page',
		'show_in_rest'		  => true,
		
		// This is where we add taxonomies to our CPT
		'taxonomies'          => array( 'category' ),
	);
	
	// Registering your Custom Post Type
	register_post_type( 'movies', $args );

}

/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/

add_action( 'init', 'custom_post_type', 0 );

在類別頁面上顯示多種帖子類型

默認情況下,WordPress網站上的類別頁面將僅顯示默認的“帖子”帖子類型。

缺少職位類型

要在與默認帖子相同的類別頁面上顯示自定義帖子類型,您需要將此代碼添加到主題的functions.php或特定於站點的插件中。

add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if( is_category() ) {
    $post_type = get_query_var('post_type');
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('nav_menu_item', 'post', 'movies'); // don't forget nav_menu_item to allow menus to work!
    $query->set('post_type',$post_type);
    return $query;
    }
}

不要忘記用您自己的自定義帖子類型的名稱替換“電影”。 現在,您可以訪問類別存檔頁面,它將顯示您自定義帖子類型的條目。

類別存檔頁面上顯示的帖子類型

我們希望本文能幫助您學習如何在WordPress中為自定義帖子類型添加類別。 您也可以使用相同的方法將標籤添加到自定義帖子類型。 請參閱我們的指南:類別與標籤以了解更多信息。

您可能還希望看到我們的專家精選,這些必須具有WordPress插件才能發展您的網站。

如果您喜歡這篇文章,請訂閱我們的YouTube頻道WordPress視頻教程。 您也可以在找到我們 推特 和Facebook。