【WordPressのタクソノミーのアーカイブページでカスタムフィールド値を参照して記事の並び替えをする際には「single_term_title」が最高に便利でした】

実は、最近までWordPressのカスタム投稿関連の構築は、あまりやったことがなかったのですが、タクソノミーのアーカイブページを、あらかじめ設定したカスタムフィールド値で並べ替えを行う際に、「single_term_title」に大変助けられましたので、今回は「single_term_title」についてご紹介します。

参考程度にご覧くださいませ。

「single_term_title」はタクソノミー名を取得します

下記をタクソノミーのアーカイブページに(例:taxonomy.phpなどに)書けばすぐに表示されます。

<?php single_term_title(); ?>

また、この「single_term_title」はパラメーターを設定すると、もっといろんなことができます。

「single_term_title」にパラメーターを設定します

1.文字列を出力前に表示することができます

Codexの例がわかりやすいので、引用しますと

<p><?php single_term_title('Currently browsing '); ?>.</p>

と書きますと、結果は

Currently browsing WordPress.
(タクソノミー名:「WordPress」の場合)

となります。

2.出力する前に何か加工をしたい場合に使えます

<?php $term_title = single_term_title( , false); ?>

と、「false」をつけて変数に値を渡します。デフォルトは「true」になっています。これがとても使える!個人的には・・・ですが^^また「single_term_title」は、Codex英語版でも解説されていますので、ご覧いただくと、さらに理解を深めることができるとおもいます。

まとめ

ところで、「タクソノミーのアーカイブページの並べ替えはどうやったのよ?」とお思いの方もいらっしゃると思います。

流れ的には、

  • 1.WP_Queryを使用して、カスタム分類のタームにカスタムフィールドの値が入っているものを取得して、
  • 2.その際に今回の「single_term_title()」と一致するもののみ出力させる、
  • 3.出力順はカスタムフィールドの値を見て降順、昇順などに並べ替える

という感じです。

おそらくもっと良い方法があるんじゃないかとは思いますが、もしご存知でしたらヒントだけでもご教示いただけますと幸いです。。また、文章で長々書いてもご理解いただけるような凄い文章は書けていませんので、機会を作ってコードを公開するかもしれないです。その時はよろしくです!

参考になると思うリンク

カスタムフィールドで並べ替えをすればいいんだ!とヒントをいただいたフォーラムへのリンクをご紹介いたしますね。

カスタム投稿一覧ページでの表示件数と並べ替え

[解決済み] 投稿をカスタムフィールド値でソートし、更に時系列に並べる

著者:bouya Imamura