ベストセラー人気 WordPress テーマTop 30 詳細

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

Last Updated:2021年1月29日| コメントを残す
  • Naver ブログを共有する
  • Naver バンドに共有する
  • Facebook 共有する
  • Twitter 共有する
  • 카카오스토리공유하기

WordPressでプラグインを使用して簡単にカスタムポストタイプを作成することができます。 そして、そのカスタムポストタイプに合ったカスタム分類(custom taxonomy)を作成し接続することもできます。 たとえば、映画のレビューのためにMoviesというカスタムポストタイプを作成し、ジャンル」というユーザー定義の分類を追加することができます。

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

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

カスタムポストタイプの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ページビルダーを使用できるように設定することができます。 たとえば、管理者が使用できるようにするには、 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ページビルダーを使用している他のサイトでも同様の問題が発生するのかは分かりません。

参照



コメントを残す

コメント