サポート » 使い方全般 » 記事の並び順を、カスタムフィールドに入力したカナの50音順で表示した

  • 2.7.1でWEBサイトを構築中です。
    記事の並びを以下のような形で表示したいです。

    ・あ行
     ・記事タイトル[ヨミ]
     ・記事タイトル[ヨミ]
     ・記事タイトル[ヨミ]
    ・か行
     ・記事タイトル[ヨミ]
     ・記事タイトル[ヨミ]
     ・記事タイトル[ヨミ]
    ・さ行
     ・記事タイトル[ヨミ]
     ・記事タイトル[ヨミ]
     ・記事タイトル[ヨミ]

    各行(あ行、い行)はカテゴリで分かれていて、その中身を、カスタムフィールドの内容(カタカナ)順に並べたいのです。

    あと各行の内容を50音順に並べ替えれば完成、というところまではできたのですが、PHPもWPもほとんどはじめて触るようなものでして、ここがどうしてもわからず困っています。

    どなたかアドバイスいただければ助かります。。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 抜粋を無理やり使い並び変えしたことはあってもカスタムフィールドでは経験が無いので、動くコードではなく本当にアドバイスになりますが。。。(汗

    カスタムフィールドで並び替えする場合は、内部で呼び出しているget_posts関数に記事取得前にmeta_keyとmeta_valueパラメータを与え、orderbyパラメータにmeta_valueを与えると並び替え出来る感じがします。

    この場合Custom Query String Reloadedを改造すると早いかと思います。

    このプラグインの48行目あたりのvar $orderbys = ~あたりにパラメータ値を追加し、custom_query_string関数を改造し、get_postsに与えるクエリパラメータを組み立ててあげると良いかと思います。

    参考文献としてはwp-include/query.phpの2026行目あたりの$allowed_keys = ~でorderbyに与えるパラメータ値の制限設定(?)をし、2040行目のswitch構文でorderby句を組み立てています。最終手段として、この部分を改造します。

    (ソースコードを読むと関数説明に書いてあるpost_nameでソートできない気がする。。。)

    役に立つか分かりませんが、以上です。よろしくお願いします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「記事の並び順を、カスタムフィールドに入力したカナの50音順で表示した」には新たに返信することはできません。