LINQの基礎; その他; インターフェイス; クラス; リファレンス; 未分類; 標準クエリ演算子; メタ情報. 'any'(すべての)投稿タイプを表示(リビジョンと 'exclude_from_search' が TRUE になっている投稿タイプを除くすべての投稿タイプが含まれます): 現在のページから投稿を表示するが、もしクエリ変数がセットされていなければ(先頭ページなら)'page' パラメータに 1 をセットする。, ページネーションの参考:静的フロントページに指定したページテンプレートにおいて、クエリをページ送りに対応させるには get_query_var( 'page' ); を使ってください。さらにクエリ変数 'page' は、 クイックタグ をコンテンツに含んでおりページ分割された単一の投稿または固定ページについて、ページ番号を保持します。.

WordPressで投稿を取得する際にWP_Queryを使用して投稿を取得したりすると思いますが、 |

データは問題なく取得できているのですが。。。, teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。, 評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。, 上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。, プレースホルダとSQL本文が分離されていてもよければこちらでもOK ※ もっと簡単に実装できる方法がありました! 追記 2015 12/25 前回WordPressの投稿の並び替え条件(orderby)を複数にする方法を書きました。 しかし、この方法ではorderbyを複数にすることはできましたが、それぞれの条件で並べ方(order)を指定することはできませんでした。 カテゴリー ID を使って、そのカテゴリー (子カテゴリーではない)に属する記事を表示: ID に '-'(マイナス記号)が付いたカテゴリーの記事を除くすべての記事を表示:, 複数のカテゴリーに属する記事を表示。下記はカテゴリー ID が2と6の両方に属する記事を表示します:, カテゴリー ID が2または6の記事を表示するには、前述の cat か、または category__in(これらのカテゴリーの子カテゴリーの記事は表示されないことに注意してください)を使うことで実現します:, タグID 37 と 47 いずれかの記事を表示するには、前述の tag か、もしくは tag__in を使って明示的に特定することで実現します:, tag_slug__in と tag_slug__and は、タグのスラッグを対象とすることを除いて、それぞれ tag__in と tag__and とほぼ同様に動作します。, 重要な参考ポイント: tax_query は、タクソノミー検索条件(配列)の配列 をパラメータにします(つまり配列の配列です)。

販売事業や教室事業など、実店舗を構えて営業をしている方の中には、Webサイトに営業日やイベントの開催日程の情報を掲載したいと思う方も多いと思います。 今回はWebサイトに簡単にカレンダー機能を実装できるWordPressプラグインをご紹介します。 営業日カレンダー8選 BizCalendar カスタムフィールドの値に関係なく、カスタムフィールドのキーが 'color' の投稿を表示します: カスタムフィールドのキーに関係なく、カスタムフィールドの値が 'blue' の投稿を表示します: カスタムフィールドのキーに関係なく、カスタムフィールドの値が 'blue' の固定ページを表示します: カスタムフィールドのキーが 'color'、値が 'blue' の投稿を表示します: カスタムフィールドのキーが 'color'、値が 'blue' ではない投稿を表示します: カスタムフィールドの値が数値である投稿を表示する例です。その数値が10未満の投稿だけを表示します。(WP_Query は比較に次の式を使います: $post_meta . 'meta_query' 句は複雑なクエリが作れるように入れ子にできます。例えば製品('product')の中でオレンジ色('color=orange')または('OR')赤でサイズが小さい('color=red&size=small')のものを表示するのは、次のようなクエリに変換できます: gif 画像を取得します。添付ファイルのデフォルトの投稿ステータスが inherit であることに注意してください。, 特定の MIME タイプを除外するには、まず get_allowed_mime_types() を使ってすべての MIME タイプを取得します。そして array_diff() を使って除外する MIME タイプとの差を求め、それを指定します。, 一般的な使い方ならキャッシュへ追加するのが普通なので、これらのパラメータを使う必要はないでしょう。しかし特定の状況では役に立ちます。例えば投稿タイトルと URL を表示するために WP_Query を使うけれども、それ以外の情報を使わずタクソノミーとメタデータも不要な場合です。これらの情報を読み込まなければ余分な SQL クエリによる時間を節約できます。, 参考: バックエンドに永続的オブジェクトキャッシュ(memcached など)が使われている場合、これらのフラグはデフォルトで false にされます。なぜなら永続的キャッシュがある時はページ読み込み毎にキャッシュを更新する必要がないからです。, 参考: これ以外にもフィルターがあります。この codex をいつも最新に保つのは難しいので、WP_Query クラス内の get_posts() メソッドを御自身で見てください(wp-includes/class-wp-query.php にあります)。, WP_Query() は wp-includes/class-wp-query.php にあります。, 最新英語版: WordPress Codex » Class Reference/WP Query (最新版との差分), A more powerful ORDER BY in WordPress 4.0, WordPress query_posts, get_posts で複数の order 指定に対応する, Advanced Taxonomy Queries with Pretty URLs, Advanced Taxonomy Queries in WordPress 3.1, Advanced Metadata Queries in WordPress 3.1, Comprehensive Argument Reference by Mark Luetke, WordPress Codex » Class Reference/WP Query, https://wpdocs.osdn.jp/wiki/index.php?title=関数リファレンス/WP_Query&oldid=13349, 他の何かを渡すと、すべてのフィールドを返します。 (デフォルト) - 投稿オブジェクトの配列。. 解決済 . カスタムフィールドのキーに関係なく、値がゼロ (0) のカスタムフィールドを持つ投稿を表示します: (meta_query はクエリがひとつだけでも入れ子の配列を指定しなければなりません。), 製品(カスタム投稿タイプ 'product')について、色(カスタムフィールドのキー 'color')が青('blue')ではない('NOTE LIKE')か、または値段(キー 'price'、タイプ 'numeric')が20と100の間にある('BETWEEN')ものを表示します。. 無職のデザイナーが描いています。 当時 order の方に配列で渡してみて上手く動作しなかったのでできないのか―。と思ったのですが、まさかorderbyの方に配列で渡しておけばよかったとは... 先のコードをfunction.phpに書いておけば、アーカイブページではorderbyに渡した値通りに並んで表示されますが、並び順の条件によっては各記事(Single)ページの前の記事・後の記事のリンクはこの並び順にはなっていません。 もっと簡単版!WordPress 投稿の並び順の条件(orderby)を複数にして、それぞれの並べ方(order)を別々に指定したい。

アイカツ!が好きです。人生の大切なことはアニメから学んだ。, kikiki-kikiさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?, Powered by Hatena Blog 回答 2 ... wordpressのカスタムポストの次の記事・前の記事をカスタムフィールドの値でソートした順で取得し... 回答 1 / クリップ 0. 更新 2017/05/16. ブログを報告する, // 対応する order が無い あるいは DESC, ASCでない場合は デフォルト値 DESC を使う, // orderby に orderby => order 形式の配列で条件と並び順を渡してあげればOK, もっと簡単版!WordPress 投稿の並び順の条件(orderby)を複数にして、それぞれの並べ方(order)を別々に指定したい。, order - multiple orderby in pre_get_posts action - WordPress Development Stack Exchange, Mac OS Catalina ターミナルで SSH 接続しようとしたら毎回パスフレーズをきかれるようになった, JavaScript margin 含めた width / height を取得したい, JavaScript parseInt, paeseFloat が NaN になるとき 0 を返したい, webpack css-loader と style-loader の違いについて学んだ, React create-react-app で作ったアプリの bundle サイズを確認したい. 実はすごく簡単にできたのでした... 2, 【募集】

OrderByを複数指定する方法がわかりません。。。 検索すると、 ... 更新 2018/11/29. 今回はorderbyを複数にして、それぞれの条件ごとにorderを指定できる方法をがんばります。, posts_orderbyというフィルターを使えばWordPressが投稿を取ってくるのに発行するSQLクエリーのORDER BY節を変更することができるようです。, pre_get_postsでorderbyとorderを複数指定してどんなORDER BYができているのか調べてみます。

WP_Query は wp-includes/class-wp-query.php に定義されているクラスで、WordPress ブログへの複雑な投稿やページのリクエストを取り扱います。wp-blog-header.php (バージョン 2.0 では WP クラス) が $wp_query オブジェクトに現在のリクエストを定義する情報を与えることで、$wp_query はどのタイプのクエリを扱っているのか (カテゴリーアーカイブ、年月別アーカイブ、フィード、検索など) を確定し、要求された投稿を取り出します。$wp_queryはリクエスト上の情報を多く保持していて、後から … 2 / クリップ ブログを報告する, // 'wp_postmeta.meta_value+0 DESC, wp_posts.post_date DESC', // my_orders をスペース区切りで配列に変換する。 ※ my_orders が無ければ値が0個の配列になる, // 対応する order が無い あるいは DESC, ASCでない場合は デフォルト値 DESC を使う, WordPress 投稿の並び順の条件(orderby)を複数にして、それぞれの並べ方(order)を別々に指定したい。, query_posts, get_posts で複数の order 指定に対応する  |  wpxtreme, Mac OS Catalina ターミナルで SSH 接続しようとしたら毎回パスフレーズをきかれるようになった, JavaScript margin 含めた width / height を取得したい, JavaScript parseInt, paeseFloat が NaN になるとき 0 を返したい, webpack css-loader と style-loader の違いについて学んだ, React create-react-app で作ったアプリの bundle サイズを確認したい.

teratailを一緒に作りたいエンジニア, 本題とは関係ないですが,もし「速くてずれない」ページネーションをお求めでしたらこちらをご利用ください↓, ORDER BY には age ではなく TIMESTAMPDIFF(YEAR, birth, CURDATE()) として元の形で書かなければなりません。また,このように計算式でソートするのはソート時にインデックスが全く利用されないため非常に遅いです。インデックスをbirthカラムに対して張った上で, ORDER BY birth してください。これで同じ結果が得られるはずです。, 1点ちょっと補足。上の記事では「covering index が理想」と書いてあって,確かにそうなんですが、MySQL5.6以降では「index condition pushdown」という機能が追加されており,covering index でなくともある程度高速に動作するようになっているので,以前より追加のWHERE条件に対して神経質になる必要はなくなっています。, https://github.com/lampager/lampager-laravel, https://qiita.com/C058/items/1c9c57f634ebf54d99bb, https://qiita.com/hrokmim/items/7843fcd362e348e9a857. 対応するorderが無かったりDESCやASCでない文字だった時はデフォルトのDESCになるようになっているので、orderbyを3つ指定してmy_ordersは2つしか指定しなくても最後の条件は自動的にDESCが割当てられるようになっています。, 「ご注文はうさぎですか?」画集 Cafe du Lapin (まんがタイムKRコミックス), Я чайка!
以前、pre_get_posts内で独自の値を$wp_queryにセットしてorderbyを複数にして、それぞれ別のorderにする方法を書いていました。. この構造によって複数のカスタムフィールドを検索できますが、その時は最初の(外側の)配列の relation パラメータによって複数のカスタムフィールド検索の関係を指定します。使える値は 'AND' と 'OR' です。デフォルト 'AND' です。. このページ「関数リファレンス/WP Query」は変更履歴節以降が未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています。, WP_Query は wp-includes/class-wp-query.php に定義されているクラスで、WordPress ブログへの複雑な投稿やページのリクエストを取り扱います。 wp-blog-header.php (バージョン 2.0 では WP クラス) が $wp_query オブジェクトに現在のリクエストを定義する情報を与えることで、$wp_query はどのタイプのクエリを扱っているのか (カテゴリーアーカイブ、年月別アーカイブ、フィード、検索など) を確定し、要求された投稿を取り出します。$wp_query はリクエスト上の情報を多く保持していて、後からでも利用することができます。, ほとんどの場合、クラスの内部やグローバル変数を使わなくても欲しい情報は手に入れられるでしょう。どこからでも欲しい情報を手に入れるために、とてもたくさんの関数があるのですから。, WP_Query を使いたくなるかもしれないケースが二つあります。一つは WordPress が今扱っているリクエストがどんなものかを知るためです。$is_* プロパティはこの情報を持つよう設計されています: これを利用するには条件分岐タグを使ってください。これはプラグイン作者によくあるケースです(二番目のケースはテーマ作者に)。, 二つ目はループの中です。WP_Query はループ内においてよくある要望を実現するための数多くの関数を備えています。手始めに、$wp_query->have_posts() を呼び出す have_posts() は、表示すべき投稿があるかどうかを判断するために使います。while ループの開始時に have_posts() を条件として指定すれば、このループは表示すべき投稿がある限り反復されます。反復処理の中では毎回、$wp_query->the_post() を呼び出す the_post() を使います。これは $wp_query の内部変数とグローバル変数 $post(テンプレートタグはこれに依存します)を設定します。これは上で見た通りです。ループを必要とするテーマファイルを作る時に使うべき関数はたくさんあります。詳しくはループと The Loop in Action をご覧ください。, 参考: 自分のクエリで the_post() を使うのなら、そのクエリの後に wp_reset_postdata() を実行する必要があります。これはテンプレートタグがメインクエリの現在の投稿を再び使えるようにするためです。, 参考: Ticket #18408 管理画面内で投稿をクエリする場合、wp_reset_postdata() が期待どおり動かないかもしれないので get_posts() を利用するとよいでしょう。, これはWP_Queryの公式な文書です。プロパティを直接書き換えるべきではありません。その代わりにメソッドを使って操作することができます。クラスのメンバとグローバル変数がめちゃくちゃになることを避ける便利な関数がありますので、WP_Queryに働きかけるを参考にしてください。, '-'(マイナス)記号をユーザー ID の頭につけることで、あるひとり(singular)の投稿者による投稿を除いて、すべての記事を表示できます:, カテゴリーIDを使用して、そのカテゴリー(さらにそのカテゴリーの子カテゴリー)に属する記事を表示:, カテゴリースラッグを使用して、そのカテゴリー(さらにそのカテゴリーの子カテゴリー)に属する記事を表示:. スラッシュで区切られた親ページと子ページのスラッグを使って子ページを表示する(例: 'parent_slug/child_slug'): 注意: 同じクエリ内で 'post__in' と 'post__not_in' を同時に使うことは出来ません。, またこのとき、コンマで区切られたリストを含む文字列では正常に動かないことにも注意してください。, パスワードのパラメータを指定した場合、投稿と固定ページのパラメータで選ばれた投稿や固定ページが対象になります。デフォルトの post_type は投稿であり固定ページではないことを覚えておきましょう。. WordPress では orderby に半角スペース区切りで並び替えのキーとなる複数の項目を指定することができますが、昇順降順の order パラメータには ASC, DESC のどちらか1つしか指定できない仕様になっています。バグなハズはない。きっと深いワケがあるハズ。 クエリーのパラメータに以前より指定した項目の値で投稿をソートする’orderby’というのがありました。記事の表示一覧などを作成するときに、表示順を指定したりするのに使用しますが、WordPress4.0からこのパラメータに複数の値を指定できるようになっています。

下記の2番目の例を見るとわかりやすいでしょう。この構造によって、複数のタクソノミーを検索できますが、その時は最初の(外側の)配列の relation パラメータによって複数のタクソノミー検索の関係を指定します。. 前回WordPressの投稿の並び替え条件(orderby)を複数にする方法を書きました。, しかし、この方法ではorderbyを複数にすることはできましたが、それぞれの条件で並べ方(order)を指定することはできませんでした。 | 例: カテゴリー quotes に所属する、もしくは投稿フォーマットが quote かつカテゴリー wisdom に所属する投稿を表示: ハイフンを前置した言葉を与えると、その言葉にマッチした投稿を除外します。例えば 'pillow -sofa' は 'pillow' を含むが 'sofa' を含まない投稿を返します(バージョン4.4以降)。, 参考: Ticket #28099 post__in に空の配列を渡すと、has_posts() が true になります(すべての投稿が返されます)。post__in へ渡す配列が空のとき WP_Query を使う必要があるかどうかの判定処理を導入すると良いでしょう。.

カスタムフィールドの値を使用して、投稿を取得する方法です。, 今回は例として投稿タイプが『test』keyが『test_key』、valueが『test_value』が入っている投稿を取得する方法です。, 今回は例として、カスタムフィールドのキーが『test_key』の投稿を降順に並び替えます。, と、することでカスタムフィールドのキーが『test_key』の投稿を降順に並べ替えられます。, orderbyの値をmeta_valueとすることでカスタムフィールドの値で並べ替え出来るようになります。, 数字で並び替える際にはorderbyの値をmeta_value_numにすることで正しく並び替えることが出来ます。, 今回は例として投稿タイプが『test』keyが『test_key』、valueが『test_value』で, カスタムフィールドkey『test_id』でvalueが『1・2・3』ではない投稿を取得する方法です。, WordPressのカスタムフィールドの値を使用してカスタムフィールドに値を登録する, query_posts(WP_Queryクラス)でカスタムフィールドを使う:WordPress私的マニュアル.