ブログやウェブサイトを運営している方なら、全ての投稿を常に全ユーザーに対して表示したいわけではない、という状況もあると思います。WordPressで特定の投稿をトップページ(一覧ページ)から隠したい、特定の条件下でのみ表示したい、そんな要望は日常茶飯事です。そこで今回は、人気プラグインである「Custom Field Suite」を利用して、一覧ページに表示する投稿を選択的に制御する方法をご紹介します。
Custom Field Suite(以下、CFS)は、WordPressのカスタムフィールドを管理するためのプラグインで、シンプルで直感的なインターフェイスと強力な機能性を兼ね備えています。今回はCFSを活用して、「トップページに表示しない」というチェックボックスを投稿に追加し、そのチェックボックスがオンの投稿をトップページ(一覧ページ)から除外する方法を解説します。この方法を用いれば、新たな投稿を作成した際に、その投稿がトップページ(一覧ページ)に表示されるかどうかを直感的に制御できます。
Custom Field Suiteプラグインの追加
今回紹介する方法では、Custom Field Suiteプラグインを使用します。そのため、まずはCustom Field Suiteプラグインを追加しましょう。
カスタムフィールドの作成
WordPressの管理画面にログインし、左側のメニューから「Custom Field Suite」を選択します。次に「新規追加」をクリックし、新しいカスタムフィールドを作成します。
新しいフィールドの名前を「トップページに表示しない」などと命名し、そのタイプを「真/偽(簡易チェックボックス)」に設定します。その他の設定は適宜行い、「更新」をクリックして保存します。
投稿の編集
新しく作成したカスタムフィールドは投稿の編集画面で使用できるようになります。投稿を編集する際に、「トップページに表示しない」フィールドのチェックボックスをオンにすることで、その投稿を一覧ページから除外できます。
テンプレートの修正
WordPressのテーマのテンプレートファイルを編集して、トップページに表示される投稿を制御します。
<?php if( have_posts() ): ?>
<?php while( have_posts() ): the_post(); ?>
<?php
// カスタムフィールド 'トップページに表示しない' の値を取得
$hide_post = get_post_meta( get_the_ID(), 'トップページに表示しない', true );
// チェックボックスがチェックされていない場合のみ投稿を表示
if ( $hide_post != '1' ):
?>
<!-- ここに通常のループが入ります。例えば、以下のように -->
<h2><?php the_title(); ?></h2>
<div><?php the_content(); ?></div>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
このコードでは、’index.php’または対象のテンプレートファイル内で、通常のWordPressループの中で各投稿の’トップページに表示しない’カスタムフィールドの値を取得しています。その値が ‘1’ (チェックボックスがチェックされている)でない場合にのみ、投稿のタイトルとコンテンツを表示します。
$hide_post != ‘1’の部分を$hide_post = ‘1’にすれば、逆にチェックされている記事のみをトップページに表示することもできます。
これにより、トップページに表示する投稿を選択的に制御できます。ただし、これはあくまで一例であり、具体的な実装はあなたのサイトの要件やテーマにより変わります。
まとめ
以上、WordPressのプラグイン「Custom Field Suite」を利用して、トップページに表示する投稿を選択的に制御する方法についてご紹介しました。この手法を使えば、それぞれの投稿がトップページに表示されるかどうかを、直感的に制御することが可能になります。
具体的には、まず新しいカスタムフィールドを作成し、そのフィールドを「真/偽(簡易チェックボックス)」タイプに設定します。そして、投稿編集画面でチェックボックスを操作することで、その投稿が一覧ページに表示されるかどうかを選択します。最後に、テーマのテンプレートファイルを編集して、チェックボックスがオフの投稿だけをトップページに表示するようにします。
しかし、この方法はあくまで一例であり、具体的な実装はあなたのサイトの要件やテーマにより変わります。また、テーマファイルの編集は専門的な知識を要する場合があるため、適切な教育資源を活用するか、プロフェッショナルな開発者に相談することを推奨します。
WordPressを利用したウェブサイト運営は、その多機能性と拡張性から、無数の可能性を秘めています。本記事の内容が、あなたのサイト運営の一助となることを願っています。