カテゴリやタグと同様に「カスタムフィールド」で記事を絞り込んで一覧表示させる方法です。
フォーラムで取り上げられていた カスタムフィールドをタグと同じようにリンクさせたい を元にしたカスタマイズさせていただきました。
例えばカスタムフィールド名(key)が「季節」、値(value)が「冬」のような設定がされている場合、URLの後ろに「?key=季節&value=冬」とパラメータを渡してアクセスするイメージです。
(1)meta.php を用意
テーマフォルダに新たにmeta.phpを用意します。(2)meta.php 内に以下を記述
meta.phpを開いて、以下のような処理を施します。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php query_posts('posts_per_page=-1&meta_key=' . $_GET['key'] . '&meta_value=' . $_GET['value']); if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> ループ処理 <?php endwhile; ?> <?php else : ?> <?php endif; wp_reset_query(); ?> |
フォーラムでは「Custom Field Gui Utility」プラグインでカスタムフィールドを管理しているケースでしたが、プラグインを使わずに、投稿記事画面から直接設定したカスタムフィールドでも使えます。
また、カスタムフィールドの値(value)が複数有る場合の出力方法も掲載されていますが、今回は key : value = 1:1 での出力がやりたかったので、これでひとまずいけそうな感じです。
(3)meta.php へアクセス
カスタムフィールド名(key)が「季節」、値(value)が「冬」の場合、以下のようなURL になります。※パーマリンク構造によっては、http://sample.com/meta/?key=季節&value=冬 のようになります。
http://sample.com/meta?key=季節&value=冬
コメント