ブログBlog

WP_Queryやget_postsのパラメータまとめ

Webサイトで商品情報や、お客様の声、FAQなどフォーマットがある程度決まっているようなページを制作する際には、Wordpressのカスタム投稿を使い、データをDBに格納し、様々な検索やソート条件でデータを取り出し、掲載情報を表示する事が多々あると思います。
DBからデータを取り出す際には、SQL文を使って取り出す事ももちろんできるのですが、Wordpressの場合には、get_postsやWP_Queryのパラメータに、検索条件を渡す事で、より簡単に取り出す事ができます。

また、SQL文の場合ですと、非常に長い文になりわかりずらくなってしまいますが、WP_Queryやget_postsに渡すパラメータですと、視認性が良く、こちらの方がわかりやすいかなとも思います。
(一方で、SQL文は、Wordpress以外の環境でも利用できるものなので、いろんな環境で流用できるコードではあります。)

但し、視認性は良いのですが、パラメータの項目を忘れてしまうと、なんだっけ?と毎回なってしまうので、今回、パラメータ項目をコードスニペットとしてまとめました。

 

WP_Queryのコードスニペット

 

meta_queryで使えるデータ型

データ型説明
CHAR文字型
NUMERIC‘SIGNED’の別名
DECIMAL浮動小数点数の型
SIGNED整数型(符号あり)
UNSIGNED整数型(符号なし)
DATE日付型
DATETIME日時型
TIME時刻型
BINARYバイナリー型

 

meta_queryで指定できる演算子

比較演算子説明
=値が一致
!=値が一致しない
>値(演算子の左)が比較値(演算子の右)より大きい
>=値(演算子の左)が比較値(演算子の右)以上
<値(演算子の左)が比較値(演算子の右)より小さい
<=値(演算子の左)が比較値(演算子の右)以下
LIKE値(演算子の左)が比較文字列(演算子の右)に一致
NOT LIKE値(演算子の左)が比較文字列(演算子の右)に一致しない
IN値(配列)で指定した何れかに一致
NOT IN値(配列)で指定した何れかにも一致しない
BETWEEN2つの値で指定した範囲内(境界を含む)である
NOT BETWEEN2つの値で指定した範囲外である

no_found_rows(キャッシュ系パラメータ)について(補足)

このパラメータは、デフォルト値(false)において、実行するSQL文のクエリに”SQL_CALC_FOUND_ROWS“オプションを付与します。

この”SQL_CALC_FOUND_ROWS“が付与されると、当該検索のためのSELECT文を実行した後、全行数を取得するためにSQL文(SELECT FOUND_ROWS)が実行されます。

本処理は、Wordpress内で、ページング処理を行うために実行されているもので、ページング処理が必要の無い条件下においては、trueにする事でパフォーマンスの向上が見込めます。(SELECT文が1回になるので当然ですが。)

 

■参考サイト
https://wpdocs.osdn.jp/関数リファレンス/WP_Query/

WEB DESIGN

RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。

「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。

運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。

しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。

本業が忙しい中小企業様に大変ご好評を頂いている商品です。

  • 独自ドメイン取得

    独自ドメイン取得

  • サーバー開設&設定

    サーバー開設&設定

  • レイアウト設計

    レイアウト設計

  • レスポンシブルデザイン

    レスポンシブルデザイン
    (*1)

  • 検索エンジン最適化(SEO対策)

    検索エンジン最適化
    (SEO対策)

  • 場所Maps

    場所Maps

  • お問い合わせフォーム

    お問い合わせフォーム

  • SSL化

    SSL化

  • 各種SNS連携

    各種SNS連携

  • 運用マニュアル

    運用マニュアル

≫詳細はこちら

MENU