WordPress カスタム投稿タイプ
公開: 2023-02-12ニッチな Web サイトには、WordPress のネイティブ投稿タイプでは満たされないコンテンツ編成のニーズがある場合があります。 そのため、コンテンツの整理と表示に関して別のオプションがあるかどうか疑問に思っているかもしれません.
幸いなことに、カスタム投稿タイプ (CPT) は WordPress のオプションであり、新しい種類のコンテンツを作成して、好きなようにカスタマイズできます。 これは、従来の投稿やページを超えたコンテンツ要素を備えた WordPress Web サイトを運営している場合に非常に役立ちます.
この記事では、カスタム投稿タイプとその構造について説明します。 さらに、手動および WordPress プラグインを使用して WordPress カスタム投稿タイプを作成する方法のウォークスルーも提供します。 準備ができたら、始めましょう!
カスタム投稿タイプとは?
ソフトウェアを Web サーバーにインストールすると、WordPress データベースは自動的にwp_postsテーブルを作成します。 このテーブルには、これから説明する情報が格納されるpost_type列が含まれています。
WordPress の投稿タイプには、次のような、おなじみのものがいくつかあります。
- 投稿:従来の「ブログ」WordPress 投稿で、時系列の逆順に表示され、カテゴリとタグを割り当てることができます。
- ページ:これらは親子関係で構造化して階層を作成できますが、通常はカテゴリが割り当てられていません。
- ナビゲーション メニュー:訪問者が Web サイトをナビゲートするのに役立つリンクのリスト。
- リビジョン:以前のバージョンにロールバックする必要がある場合に備えて、他の投稿タイプへの変更のログまたは履歴を保持します。
- 添付ファイル:投稿またはページに追加したメディアはすべて WordPress 投稿タイプとして保存され、画像または動画ファイル データはwp_postmetaテーブルに保存されます。
さらに、WordPress には 2 つの主要な分類構造が含まれています。 カテゴリとタグは、投稿をさまざまなグループに割り当てる主な方法です。 カテゴリとタグを CPT に割り当てることができますが、コンテンツをより適切に整理するために、カスタム分類法も作成する必要がある場合があります。
これがどのように適用されるかの 1 つの例は、e コマース ストアの製品です。 価格、数量などの情報用のカスタム フィールドを含む「製品」CPT を作成できます。 次に、カスタム分類法を使用して、想像できるほぼすべての方法で製品を分類するためのオプションを作成できます。
カスタム投稿タイプの作成方法 – プラグイン メソッド (4 ステップ)
CPT を作成する最も簡単な方法は、WordPress プラグインを使用することです。 そのプロセスがどのように機能するかを見ていきましょう。
ステップ 1: 専用プラグインをダウンロードする
この例では、Pods – Custom Content Types and Fields プラグインを使用します。
このツールを使用すると、独自の投稿タイプとカスタム分類法を簡単に作成およびカスタマイズできます。 WordPress の[プラグイン] > [新規追加]メニューからプラグインをインストールしたら、それも有効にする必要があります。
ステップ 2: 新しいカスタム投稿タイプを追加する
次に、管理メニューに新しいポッド管理オプションがあります。 そこから[新規追加]を選択し、新しいコンテンツ タイプを作成するか、既存のものを拡張するかを選択できます。
この例では、 [新規作成]を選択して、使用可能な構成オプションを示します。
ステップ 3: 新しい投稿タイプを設定する
[構成]ページで、新しいコンテンツ タイプのオプションを入力します。
ここでは、新しいコンテンツ タイプの単数形および複数形のラベルを入力したり、作成するカスタム コンテンツの種類を選択したりできます。 これは、投稿タイプ、分類法、または設定ページのいずれかです。
ステップ 4: カスタム フィールドを作成する
ラベルを作成すると、新しいフィールドなどを追加できる別の設定ページに移動します。
上記のように、製品の WordPress カスタム投稿タイプに、 Price のカスタム フィールドを追加しました。
これらの設定が完了したら、 [ポッドの保存] を選択できます。 メインの WordPress メニューでProductカスタム投稿タイプを見つけることができるようになりました。 そこからProduct > Add Newに移動し、この WordPress 投稿タイプを使用してコンテンツの作成を開始できます。
投稿エディターには、 Pods ショートコードボタン オプションも表示されます。 これにより、さまざまなポッド アイテムからフィールド情報を追加できます。 以前に作成したカスタム フィールドも、簡単にアクセスできるように投稿編集ウィンドウの下に表示されます。
コンテンツを編集したら、WordPress で通常行うように、カスタム投稿タイプを保存して公開できます。
カスタム投稿タイプを作成する方法 – 手動の方法 (3 ステップ)
Web サイトのfunctions.phpファイルを編集して、手動で CPT を作成することもできます。 開始する前に、ファイルのコピーを作成するか、サイトをバックアップすることをお勧めします。
ステップ 1: functions.phpファイルを見つけて開く
サイトのファイルには、cPanel の Web ホストのファイル マネージャーを介してアクセスするか、FileZilla などのファイル転送プロトコル (FTP) アプリケーションを使用してアクセスできます。 接続したら、WordPress ルート フォルダーに移動し、次にwp-content > themes > your-themeに移動します。
各テーマには独自のfunctions.phpファイルがあることに注意してください。 CPT の作成に手動プロセスを使用することを選択した場合、WordPress テーマを変更すると CPT は失われます。 カスタム タイプが何があっても保持されるようにしたい場合は、代わりにプラグイン メソッドを使用することをお勧めします。
ステップ 2: カスタム投稿タイプ コードを挿入する
CPT に含めることができる詳細の量は非常に膨大です。 簡単な例を使用して、「製品」CPT を作成する方法を示します。 以前に WordPress プラグイン設定で使用できたのと同じ種類のラベル オプションと設定が表示されます。
//* カスタム投稿タイプを作成 add_action( 'init', 'add_custom_post_type'); 関数 add_custom_post_type() { register_post_type( 'my_products', 配列( 'ラベル' => 配列( '名前' => '製品', 'singular_name' => '製品', 'add_new' => '新しい商品を追加', 'add_new_item' => '新しいアイテムを追加', 'edit_item' => '商品の編集', 'new_item' => '新製品', )、 「公開」 => 真、 'has_archive => true, 'rewrite' => 配列( 'スラッグ' => '製品' )、 'サポート' => 配列( 'タイトル'、 '編集者'、 '著者'、 'サムネイル', '抜粋'、 'トラックバック', 'カスタムフィールド'、 'リビジョン', 「ページ属性」 )、 ) ); }
サイトのテーマ フォルダにあるfunctions.phpファイルの最後に、このコードを追加します。 もちろん、CPT コードに追加できるオプションは他にも多数あり、GitHub などのリソース サイトで見つけることができます。
ステップ 3: サイトのテキスト ドメインを追加する
サイトが翻訳対応で、CPT も同様に翻訳できるようにしたい場合は、サイトのテキスト ドメインを見つけて、それが CPT に使用するコードに含まれていることを確認する必要があります。
サイトのテキスト ドメインは、WordPress テーマのstyle.cssファイルにあります。
style.cssを開くと、ファイルのヘッダーに「テキスト ドメイン」情報が表示されます。
その後、カスタマイズでテキスト ドメインを参照できます。 たとえば、上記のコード例の「labels」配列では、「Products」の後にテキスト ドメインを追加します。
'name' => '製品', 'twentynineteen',
翻訳可能にするために、カスタム投稿タイプのすべてのラベルにテキスト ドメインを追加します。
サイトにカスタム投稿タイプを表示する (2 つの方法)
CPT を作成したら、サイトに表示する際にいくつかのオプションがあります。 使用できる 2 つの方法について説明します。
1. デフォルトのアーカイブ テンプレートを使用する
CPT がサイトに確実に表示されるようにする方法の 1 つは、CPT の作成に使用するコードを調整することです。 次の文字列を配列に含めることができます。
'has_archive' => true,
これを行うと、テーマのアーカイブ ページ テンプレートに基づいて、CPT に独自のアーカイブ ページが作成されます。 その後、URL www.yoursite.com/customposttypeを使用して、新しい CPT アーカイブ ページにアクセスできます。
2. トップページに表示する
CPT を作成する利点の 1 つは、特定のコンテンツを通常のブログ投稿から切り離すことができることです。 ただし、このコンテンツがフロント ページに表示されるようにしたい場合は、テーマのfunctions.phpファイルに小さなコード スニペットを追加する必要があります。
// ホームページにカスタム投稿タイプを表示し、functions.php に追加します add_filter( 'pre_get_posts', 'my_get_posts' ); function my_get_posts( $query ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'products' ) ); //cpt、この場合は'products'を配列に追加 $クエリを返します。 }
当然、このスニペットをカスタマイズして、CPT の名前やその他の重要な詳細を含めることもできます。
WP Engine でサイトをカスタマイズする
カスタム投稿タイプは、WordPress サイトをさらにカスタマイズし、よく整理されたカスタム コンテンツ タイプをサイトの訪問者に配信する動的な方法です。 ここ WP Engine では、ユーザーと開発者に最高のリソースを提供し、顧客に素晴らしいデジタル エクスペリエンスを作成するのに役立ちます。
真に魅力的なデジタル体験を開発するには、WordPress のニーズを満たすように調整されたマネージド WordPress ホスティング ソリューションが必要です。 革新的なリソースとホスティング プランを今すぐチェックしてください。