WordPress カテゴリーをカスタムポストタイプに追加する

WordPressでプラグインを使用して簡単にカスタムポストタイプを作成できます。 また、対応するカスタムポストタイプに合ったカスタム分類を作成して接続することもできます。 たとえば、映画レビューのために映画と呼ばれるカスタムポストタイプを作成し、「ジャンル」というカスタム分類を追加できます。

場合によっては、別の分類を作成せずに WordPressで、基本的に提供される分類のいずれかであるカテゴリをカスタムポストタイプを使用することをお勧めすることもできます。 WordPress 組み込みカテゴリ分類は「Post」でのみデフォルトで表示されますが、Custom Post Type UIなどのプラグインを使用すると、カスタムポストタイプに WordPress コアが提供する「カテゴリ」を追加できます。

WordPress カテゴリーをカスタムポストタイプに追加する

Custom Post Type UI などのプラグインを使用すると、簡単にカスタムポストタイプ(ユーザー定義文のタイプ)を作成し、カスタム分類を追加することができます。

プラグインを使用してカスタムポストタイプを作成するには、Custom Post Type UIをインストールして有効にして、 CPTUI>投稿タイプの追加/編集で新しいポストタイプを追加するようにします。

WordPress カテゴリーをカスタムポストタイプに追加する -  Custom Post Type UIプラグイン

カスタムポストタイプの作成/編集画面で WordPress 基本カテゴリとタグの分類を接続することができます。

ユーザー定義文のタイプに WordPress 基本カテゴリとタグを接続する

別のカスタム分類を作成し、接続するには、 CPT UI> Add / Edit Taxonomiesから Taxonomy Slug などを設定して Attach to Post Typeで、カスタムポストタイプ(例えば、Movies)を選択した後 分類を追加 ボタンをクリックするします。

カスタム分類の作成

カスタムポストタイプを活用する方法の詳細については、次の記事を参照してください。

カテゴリページにカスタムポストタイプ文が表示されるようにする

カスタムポストタイプ(例えば、Movies)に WordPress 基本カテゴリーを分類接続した場合、ポストに追加されたカテゴリーを使用することができます。

カスタムポストタイプ文の作成画面 - カテゴリを選択し

しかし、カテゴリページには、基本的な文のタイプの文(つまりPost)だけが表示され、カスタムポストタイプ文(例:Movies)は表示されません。 そのような場合 Add Custom Post Types to Tags and Categories in WordPress (WordPressでカスタムポストタイプをタグとカテゴリに追加する方法)で紹介するコードを使用すると、カテゴリアーカイブページにユーザー定義文のタイプ文等も表示されます。

function add_custom_types_to_tax( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
 
// Get all your post types
$post_types = get_post_types();
 
$query->set( 'post_type', $post_types );
return $query;
}
}
add_filter( 'pre_get_posts', 'add_custom_types_to_tax' );

上記のコードをテーマの関数ファイル(functions.php)に追加してください。 常に申し上げ チャイルドテーマ(子テーマ、サブテーマ)を作成チャイルドテーマの関数ファイルに追加する必要が今後のテーマの更新時にもコードが消えません。

上記のコードを追加すると、カテゴリページとタグのページにリンクされたカスタムポストタイプ文が表示されます。 特定のカスタムポストタイプ文だけのカテゴリとタグのページに表示するようにしたい場合には、コードで:

$post_types = get_post_types();

上記の行を次の行に置き換えます。

$post_types = array( 'post', 'your_custom_type' );

ページビルダーを使用してカスタムポストタイプ文を編集する

特定のカスタムポストタイプの文をページビルダーを使用して作成したい場合には、ページビルダー内のオプションでは、カスタムポストタイプに対してページビルダーを使用するように設定します。

ページビルダーを使用する場合の利点は、簡単に目的のレイアウトに記事/ページを作成することができるという点です。 しかし、欠点は、他のページビルダーを使用しているテーマに変更するか、ページビルダーをいくつかの理由に使用することができなくなった場合に厄介になることができます。 (ページビルダーつを同時に使用することも可能だがページビルダー自体がサイトに負担を与えることができ、二つを一緒に使用して衝突などの問題が発生する可能性が高くなります。そして、サイトの速度にもマイナスの影響を及ぼします)

エレメンページビルダーを使用する

エレメント(Elementor) ページビルダーを使用してカスタムポストタイプ文を作成したい場合 WordPress 管理者ページ>エレメン>設定>一般に移動し、文の種類から目的の文の種類をチェックします。

WordPress エレメンページビルダー指定する

上の図では「文」もチェックされていますが、なるべく「文(Post)」は WordPress 基本エディタを使用することが望ましい。 ページビルダーで文を作成することになると、今後のテーマを変えたりページビルダーを変えなければならするときに問題になることがあります。

WPBakeryページビルダーを使用する

WPベーカリー・ページ・ビルダー (旧名称」Visual Composer「)をカスタムポストタイプの投稿編集に使用したい場合は、 WPBakery Page Builder> Role Managerをクリックして、 ロールマネージャ タブを選択します。

各役割(管理者、編集者など)に対してWPBakery Page Builderを有効にできます。 たとえば、管理者が使用可能にするには Admin セクションで Post typesカスタムで選択して、希望の文の種類をチェックします。

WPBakeryページビルダー指定する

Salient テーマを使用しているサイトでカスタムポストタイプを追加し、WPBakery Page Builderをカスタムポストタイプ文の編集に使用するように設定してみると、記事の編集画面には、次のようなエラーが表示されました。

Warning: count(): Parameter must be an array or an object that implements Countable in /home/..../wp-contnet/plugins/js_composer_salient/includes/templates/editors/partials/vc_welcome_block.tpl.php on line 7

Salient テーマだけこのような問題が発生するか、またはWPBakeryページビルダーを使用している他のサイトでも同様の問題が発生するのかは分かりません。

参照

一部の記事にはアフィリエイトリンクが含まれている場合があり、パートナーの活動で一定額の手数料を受け取ることがあります。

コメントを残す

*電子メール情報は公開されません。