meta_queryで特定のデータが入ったものを除きたい時、もしくは特定の順番でforeachで出力されるデータを並べたい時

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

今日は、ユーザーデータを任意の順序で並べたいということで、そんなことをやっています。その中で、usortというPHPの関数で、meta_queryのキーに入れた数字の順番にデータを並べる方法を使いました。

そして、meta_queryが空白の場合は、foreachで出力される順番リストから除きたいということで、そういうコードを書きました。

ちなみに今回のキーはfunctions.phpでユーザーの個別ページに新たに追加した項目です。余ってる項目を使ってもいいと思います。

書いたコード

参考にしたのは英語のWordPressのQ&Aのサイトでした。どのサイトかは忘れました。

今回はget_usersのデータをforeachで出力していますが、usortを使えば、多分、別のデータでも並べ替えはできると思います。

meta_queryで特定のデータが入ったものを除く

今回、keyが空白のものを覗きたいということで、’value’ => ”,’compare’ => ‘NOT IN’を’key’ => ‘キー’,の下に追加しました。

meta_queryのcompareのINとかLIKEの使い方を覚えると、幅が広がりそうです。

tax_queryにも同じようなものがあって、この場合は、operatorという単語になるようです。

query_postsは非推奨になりましたが、こちらのサイトに、compareについてわかりやすく書いてあります。

query_posts(WP_Queryクラス)でカスタムフィールドを使う
http://elearn.jp/wpman/column/c20110915_01.html

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*