YouTubeプラグインのカスタム投稿タイプにカテゴリー・サポートを追加

以下の文書では、テーマのfunctions.phpファイルへの追加について説明します。変更は自己責任で行い、サイトのバックアップをとっておいてください。以下のコードは動作確認済みです。テーマのfunctions.phpファイルを変更した後、テーマを変更または更新すると、これらの変更が削除される可能性があることに留意してください。これらの変更を確実に残すために、子テーマのfunctions.phpを使用することをお勧めします。

以下のコード・スニペットを使用すると、サイトに取り込まれてカスタム投稿タイプに変換された動画を分類するためのサポートを追加できます。現在有効になっているテーマのfunctions.phpファイルに以下を追加する必要があります。

function sby_add_category_support() {
    register_taxonomy_for_object_type( 'category', 'sby_videos' );
    register_taxonomy_for_object_type( 'post_tag', 'sby_videos' );
}
add_action( 'init', 'sby_add_category_support' );

これらの動画のために作成するカテゴリはユニークである必要があり、通常の投稿カテゴリと同じであってはならないことに注意してください。例えば、あなたが釣りのウェブサイトを持っていて、"Fly Fishing "という名前の投稿カテゴリーを持っている場合、このカテゴリーに関連する動画を "Fly Fishing Videos "のように設定する必要があります。こうすることで、WordPressのデータベースが問題を起こさないようになります。

上記に加えて、特定のカテゴリーページとタグページに動画を表示させたい場合は、テーマのfunctions.phpファイルに以下を追加する必要があります。

function sby_add_cpt_category_tag ( $query ) {
	if ( is_admin() || ! $query->is_main_query() ) {
		return;    
	}

	if ( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
		$sby_post_types = array( 'sby_videos' );
		$query->set(
	  		'post_type',
			array_merge(
				array( 'post' ),
				$sby_post_types
			)
		);
	}
}
add_filter( 'pre_get_posts', 'sby_add_cpt_category_tag' );

上記の変更後、既存の動画カスタム投稿をすべて削除し、フィードのキャッシュをクリアするか、インポートツールを使用して再度インポートする必要があるかもしれません。そうすると、カテゴリとタグが利用できるようになります。

サポート

ドキュメントに答えが見つからない?

サポート

この記事は役に立ちましたか?