WordPress でカスタムの単一投稿テンプレートを作成する方法
公開: 2022-09-01WordPress でカスタムの単一投稿テンプレートを作成しますか?
カスタムの単一投稿テンプレートを使用すると、個々のブログ投稿にさまざまなレイアウトを使用できます。 多くの WordPress テーマにはいくつかの異なるページ テンプレートが付属しており、必要に応じて独自のページ テンプレートを作成することもできます。
この記事では、WordPress でカスタムの単一投稿テンプレートを簡単に作成する方法を紹介します。 複数の方法を共有するので、ニーズに最適な方法を選択できます。
カスタムの単一投稿テンプレートが必要になるのはいつですか?
WordPress Web サイトの特定の投稿に異なるルック アンド フィールが必要な場合があります。 たとえば、特定のカテゴリの特集記事や記事に別のレイアウトを使用したい場合があります。
これは、WordPress でカスタムの単一投稿テンプレートが必要な場所です。
デフォルトでは、WordPress は WordPress テンプレート階層に基づく単一の投稿テンプレートを使用します。 すべてのテーマには single.php テンプレートが付属しており、これはデフォルトですべての単一の投稿に使用されます。
一部のテーマには、使用できる追加のテンプレートやレイアウトの選択肢が含まれている場合もあります。
カスタム ページ テンプレートの作成に非常によく似ています。 ほとんどの WordPress テーマには、WordPress で投稿やページを編集する際に使用できるページ テンプレートも付属しています。
そうは言っても、WordPress でカスタムの単一投稿テンプレートを簡単に作成する方法を見てみましょう。 複数の方法を紹介しますので、最適な方法を使用してください。
- ブロックエディターを使用して単一の投稿テンプレートを作成する
- SeedProd を使用してカスタムの単一投稿テンプレートを作成する
- テーマ設定を使用して単一の投稿レイアウトを作成する
- コードを使用してカスタムの単一投稿テンプレートを手動で作成する
- カテゴリ別のカスタム単一投稿テンプレートの作成
- 特定の作成者向けのカスタム単一投稿テンプレートの作成
ブロック エディターを使用して単一の投稿テンプレートを作成する
この方法では実際には投稿テンプレートが作成されず、柔軟性が制限されます。 ただし、独自の単一投稿レイアウトを保存して再利用する最も簡単な方法です。
デフォルトのWordPressブロックエディターには、ブロックを保存して再利用できる機能が組み込まれています. そのような再利用可能なブロックの 1 つがグループ ブロックです。
グループ ブロックを使用すると、複数のブロックと投稿レイアウト全体を 1 つのグループにまとめることができます。 その後、このグループ ブロックを保存して、他の投稿で再利用できます。
グループ ブロックを使用してカスタム投稿テンプレートを保存する方法を見てみましょう。
まず、WordPress で新しい投稿を作成する必要があります。 その後、コンテンツ領域にグループ ブロックを追加するだけです。
これで、ブロックをグループ ブロックに追加して、WordPress ブログ用の単一の投稿レイアウトを作成できるようになりました。
列、メディアとテキスト、カバー画像など、必要なブロックを追加できます。
作成したレイアウトに満足したら、マウスを上げてグループ ブロックを選択する必要があります。
3 つのドットのメニュー アイコンをクリックして、[再利用可能なブロックに追加] オプションを選択するだけです。
次に、再利用可能なブロックの名前を指定して、[保存] ボタンをクリックする必要があります。 WordPress は、グループ ブロック内のすべてのブロックを含む再利用可能なブロックを保存します。
その後、ウェブサイト上の既存の投稿を編集したり、新しい投稿を作成したりできます。 投稿編集画面で、[新しいブロックを追加] ボタンをクリックし、[再利用可能] タブで保存したブロックを探します。
ブロックを投稿に追加すると、WordPress は保存したすべてのブロックと設定を含むグループ ブロック全体を読み込みます。
このメソッドを使用すると、カスタム レイアウトを保存できます。 ただし、テーマが単一の投稿を処理する方法を変更することはできません。
柔軟性を高めたい場合は、次のステップを読み続けてください。
SeedProd を使用してカスタムの単一投稿テンプレートを作成する
カスタムの単一投稿テンプレートを作成する最も簡単な方法は、SeedProd を使用することです。 最高の WordPress ウェブサイト ビルダー プラグインで、コードを書かずに美しいウェブサイト レイアウトとカスタム テンプレートを作成できます。
SeedProd のドラッグ アンド ドロップ ビルダーを使用して、カスタムの単一投稿テンプレートを含む、完全にカスタム化された WordPress テーマを作成できます。
最初に行う必要があるのは、SeedProd プラグインをインストールして有効にすることです。 詳細については、WordPress プラグインのインストール方法に関するステップ バイ ステップ ガイドを参照してください。
アクティベーション時に、ライセンス キーを入力する必要があります。 この情報は、SeedProd Web サイトのアカウントの下にあります。
その後、カスタム WordPress テーマを作成します。 これは思ったよりずっと簡単です。
カスタム WordPress テーマの作成
まず、 SeedProd » Theme Builderページに移動する必要があります。 ここでは、SeedProd の既製のテーマの 1 つを出発点として使用します。 これにより、既存の WordPress テーマが新しいカスタム デザインに置き換えられます。
「テーマ」ボタンをクリックすると、それを行うことができます。
さまざまな種類の Web サイト用に設計された、専門的に設計されたテーマのリストが表示されます。 たとえば、「Modern Business」、「Marketing Agency」、「Mortgage Broker Theme」というテンプレートがあります。
オプションを確認し、チェックマーク アイコンをクリックして、ニーズに最適なものを選択します。
テーマを選択すると、SeedProd は必要なすべてのテーマ テンプレートを生成します。これには、単一のページ用のものと単一の投稿用のものがあります。
各テンプレートには、魅力的なレイアウトとカスタマイズが容易なプレースホルダー コンテンツが設定されています。
SeedProd でテーマを作成する方法の詳細については、コードなしでカスタム WordPress テーマを簡単に作成する方法に関するガイドを参照してください。
デフォルトの単一投稿テンプレートのカスタマイズ
SeedProd では、ドラッグ アンド ドロップ ページ ビルダーを使用して、デフォルトの「単一投稿」テンプレートを簡単にカスタマイズできます。
テンプレートの下にある [デザインの編集] リンクをクリックするだけです。 これにより、SeedProd のビジュアル エディターで投稿テンプレートが開きます。
SeedProd のビジュアル エディターは 2 列のレイアウトです。 左側には、デザインに追加できるブロックとセクションがあります。 右側はテンプレートのプレビューで、変更内容をリアルタイムで確認できます。
投稿テンプレートのレイアウトをカスタマイズするのも簡単です。 ブロックをクリックするだけで、左側の列にその設定が表示されます。
たとえば、投稿のタイトルをクリックすると、その設定が表示されます。 配置、フォント サイズ、見出しレベルなどを変更できるようになりました。
[詳細設定] タブをクリックすると、フォントの色、間隔、およびその他のスタイルを変更できます。
左側の列からプレビュー列にブロックをドラッグして、ブロックを追加できます。 SeedProd は、テンプレート タグを使用して、投稿のタイトル、注目の画像、コメントなどの動的コンテンツを取り込みます。 これにより、各投稿を個別に編集しなくても、テンプレートにコンテンツを追加できます。
たとえば、投稿コンテンツの最後に投稿ブロックを追加できます。 これにより、訪問者が現在の投稿を終了したときに読みたいと思う可能性のある最近の投稿が表示されます。 このブロックは、このテンプレートを使用するすべての投稿で自動的に表示されます。
次に、投稿ブロックの設定を変更して、表示されるコンテンツをカスタマイズできます。
たとえば、特定のカテゴリのコンテンツを表示したり、2 列のレイアウトを使用したり、表示される投稿の数を変更したりできます。
時間をかけて、さまざまなブロックを試したり、設定を調べたりしてください。
投稿テンプレートとして使用するものを作成したら、右上隅にある緑色の [保存] ボタンをクリックして保存します。 その後、[X] 閉じるアイコンをクリックして SeedProd ビジュアル エディタを閉じることができます。
WordPress テーマの残りの部分も同じ方法でカスタマイズできます。 しかし、少し助けが必要な場合は、SeedProd でカスタム WordPress テーマを作成する方法についてのステップバイステップ ガイドを参照してください。
すべての外観に満足したら、「SeedProd テーマを有効にする」スイッチがオンの位置に切り替えられていることを確認します。 WordPress サイトで、SeedProd テーマとカスタムの単一投稿テンプレートが使用されるようになりました。
テーマ設定を使用してカスタムの単一投稿レイアウトを作成する
多くの一般的な WordPress テーマには、単一の投稿テンプレートの外観をカスタマイズするための設定が組み込まれています。
テーマがこれらの設定をサポートしている場合は、投稿編集画面で見つけることができます。 利用可能なオプションは、使用しているテーマによって異なる場合があります。
たとえば、Astra テーマは、単一の投稿を編集するときにカスタマイズ オプションを提供します。 これらのオプションを使用して、サイドバーを変更したり、ヘッダー、タイトル、メニューなどを非表示にしたりできます.
一方、上位の WordPress テーマの多くには、すぐに使用できるテンプレートが付属しています。
テーマに単一の投稿テンプレートが含まれている場合は、投稿の編集中に [テンプレート] または [投稿属性] パネルの下に表示されます。
これらのテンプレートは、構成を必要とせずに使用できる完全なレイアウトです。
コードを使用してカスタムの単一投稿テンプレートを手動で作成する
この方法は、テーマ ファイルを編集し、コードをコピーして貼り付け、オプションでカスタム CSS を追加する必要があるため、少し高度です。 これまでにこれを行ったことがない場合は、WordPress でコードをコピーして貼り付ける方法に関するチュートリアルをご覧ください。
まず、コンピューターでメモ帳などのプレーン テキスト エディターを開き、その中に次のコードを貼り付ける必要があります。
<?php
/*
* Template Name: Featured Article
* Template Post Type: post, page, product
*/
get_header(); ?>
このコードは、「特集記事」と呼ばれる新しいテンプレートを定義し、投稿、ページ、および製品の投稿タイプで使用できるようにします。
このファイルをwpb-single-post.php
としてデスクトップに保存してください。 次に、テンプレートを WordPress サイトに追加する必要があります。 そのためには、FTP クライアントを使用してファイルを現在のテーマ フォルダーにアップロードする必要があります。
これで、WordPress 管理エリアにログインして、投稿を作成または編集できます。 投稿編集画面を少し下にスクロールすると、新しい「テンプレート」パネルまたは「投稿属性」メタ ボックスが表示され、テンプレートを選択するオプションが表示されます。
「おすすめ記事」のカスタム テンプレートがそこに表示されます。
現在、テンプレートは基本的に空であるため、選択すると白い画面が表示されます。
これを修正しましょう。
これを行う最も簡単な方法は、テーマの single.php ファイルからコードをコピーし、それを出発点として使用することです。 single.php ファイルを開いて、 get_header()
行の後のすべてをコピーする必要があります。
次に、このコードをwpb-single-post.php
ファイルの最後に貼り付ける必要があります。 これで、このファイルを保存してサーバーにアップロードできます。
ただし、これは現在の単一投稿テンプレートとまったく同じに見えます。 これで、カスタムの単一投稿テンプレートに変更を加えることができます。
独自のカスタム CSS クラスを追加したり、サイドバーを削除したり、全幅のテンプレートを作成したり、必要なことは何でもできます。
カテゴリ別のカスタム単一投稿テンプレートの作成
カテゴリに基づいたカスタムの単一投稿テンプレートを使用しますか? たとえば、旅行カテゴリの投稿を写真カテゴリの投稿とは異なるレイアウトにすることができます。
SeedProd Theme Builder またはコードを使用してそれを行うことができます。
SeedProd を使用してカテゴリごとにカスタムの単一投稿テンプレートを作成する
前に、SeedProd テーマ ビルダーのデフォルトの単一投稿テンプレートをカスタマイズする方法について説明しました。 しかしそれだけではありません。 SeedProd を使用すると、投稿カテゴリごとに異なるレイアウトなど、カスタム投稿テンプレートを好きなだけ追加できます。
新しい単一の投稿テンプレートを追加するには、元の投稿テンプレートの下にある [複製] リンクをクリックするだけです。 「Single Post – Copy」という新しいテンプレートが作成され、テーマ テンプレート ページの上部に追加されます。
以前にデフォルトの単一投稿テンプレートをカスタマイズしたのと同じ方法で、新しいテンプレートをカスタマイズできます。 テンプレートの「デザインの編集」リンクをクリックし、SeedProd のビジュアル エディタを使用して好きな変更を加えます。
テンプレートのカスタマイズが完了したら、SeedProd がこのテンプレートを使用する必要がある投稿を認識できるように、いくつかの条件を追加する必要があります。 この場合、単一のカテゴリ内の投稿を表示するときに表示されるようにします。
テンプレートの [条件の編集] リンクをクリックすると、新しいウィンドウがポップアップ表示されます。
ここで、テンプレートに名前と優先順位を付けることができます。 デフォルトの単一投稿テンプレートの優先度は 0 であるため、このテンプレートの優先度を高くして、一致するカテゴリに表示されるようにしてください。
[条件] で、2 番目のドロップダウン メニューから [カテゴリあり] を選択し、最後のフィールドにカテゴリの名前を入力します。 たとえば、写真カテゴリの投稿のみにこのレイアウトを使用する場合は、「写真」と入力します。
完了したら、[保存] ボタンをクリックすると、このテンプレートが一致するカテゴリのすべての投稿に使用されます。
これは、WordPress で複数のカスタム投稿テンプレートを作成する最も簡単な方法です。 コードの知識は必要なく、誤ってテーマ ファイルを台無しにすることもありません。
コードを使用してカテゴリごとにカスタムの単一投稿テンプレートを作成する
これは、テーマ ファイルにコードを追加することに慣れている人向けの別の方法です。
まず、このコードをテーマの functions.php ファイルまたはコード スニペット プラグインに追加する必要があります。
/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
/**
* Single template function which will choose our template
*/
function my_single_template($single)
global $wp_query, $post;
/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
endforeach;
このコードはまず、WordPress が単一の投稿を要求しているかどうかを確認します。 そうであれば、WordPress テーマの/single/
フォルダーでテンプレートを探すように WordPress に指示します。
次に、このコードで定義されたテンプレート ファイルを追加する必要があります。
FTP クライアントまたは cPanel のファイル マネージャーを使用して WordPress ホスティングに接続し、 /wp-content/themes/your-theme-folder/
移動します。
現在のテーマ フォルダー内に、「single」という名前の新しいフォルダーを作成する必要があります。 次に、このフォルダーを開いて、その中に新しいファイルを作成する必要があります。 このファイルsingle-cat-category-slug
という名前を付けてください。 category-slug を実際のカテゴリ スラッグに置き換えます。
たとえば、「ニュース」というカテゴリがある場合、 single-cat-news.php
ファイルを作成します。 「旅行のヒント」というカテゴリがある場合は、テンプレートsingle-cat-travel-tips.php
を作成します。
これで、これらのテンプレート ファイルは完全に空になります。 開始点として、single.php ファイルの内容をテーマ フォルダーからコピーし、これらの各テンプレート内に貼り付けることができます。 その後、これらのテンプレートを編集して、必要な変更を加える必要があります。
完了したら、Web サイトにアクセスして投稿を表示できます。 この投稿が提出されるカテゴリ用に作成したテンプレートが使用されます。
ここで、ニュースと旅行のヒントという 2 つのカテゴリに投稿された投稿があるとします。 「ニュース」はアルファベット順に最初に表示されるため、WordPress は自動的に「ニュース」のテンプレートを表示します。
一方、カテゴリーに投稿を提出し、そのカテゴリーのテンプレートを作成しなかった場合、WordPress はテーマのデフォルトの single.php テンプレートにフォールバックします。
特定の作成者向けのカスタム単一投稿テンプレートの作成
特定の作成者によって書かれた投稿を、Web サイト上で別の方法で表示したいとします。 カテゴリで示したのと同じ手法に従って、コードを使用してそれを行うことができます。
まず、このコードをテーマの functions.php ファイルまたはコード スニペット プラグインに追加する必要があります。
/**
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_author_template');
/**
* Single template function which will choose our template
*/
function my_single_author_template($single)
global $wp_query, $post;
/**
* Checks for single template by author
* Check by user nicename and ID
*/
$curauth = get_userdata($wp_query->post->post_author);
if(file_exists(SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php';
elseif(file_exists(SINGLE_PATH . '/single-author-' . $curauth->ID . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->ID . '.php';
次に、cPanel で FTP または cPanel ファイル マネージャーを使用して Web サイトに接続し、 /wp-content/themes/your-theme-folder/
に移動する必要があります。 その中に /single/ という名前のフォルダーをまだ作成していない場合は、先に進んで作成してください。
このフォルダー内で、テンプレート名に作成者のユーザー名を使用してテンプレートを作成する必要があります。 例: single-author-johnsmith.php
。
このテンプレートは空なので、テーマの single.php テンプレートの内容をコピーして貼り付け、開始点として使用できます。
Web サイトにアクセスして、特定の作成者が作成した投稿を表示できるようになりました。 作成したテンプレートが使用されます。
この記事が、WordPress でカスタムの単一投稿テンプレートを作成する方法を学ぶのに役立つことを願っています. また、WordPress サイトへの Web サイト訪問者を追跡する方法を学びたい場合や、サイトを成長させるために必要な WordPress プラグインのリストを参照したい場合もあります。
この記事が気に入ったら、WordPress ビデオチュートリアルの YouTube チャンネルに登録してください。 Twitter や Facebook で私たちを見つけることもできます。
WordPress でカスタムの単一投稿テンプレートを作成する方法の投稿は、WPBeginner で最初に登場しました。