• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get query var

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

グローバル $wp_query オブジェクトの WP_Query クラス内の public query variable /en を取得する。

使い方

<?php get_query_var( $var, $default ) ?>

パラメーター

$var
string) (必須) 取得する変数キー。
初期値: なし
$default
mixed) (オプション) クエリ変数が設定されていない場合、値が戻ります。
初期値: 空の文字列

戻り値

(mixed) 

var が設定されていない場合は $default を返す。

現在のページ送り番号を取得する


<?php $paged = get_query_var( 'paged', 1 ); ?>

<h1>現在表示中のページ: <?php echo (int) $paged; ?></h1>

静的フロントページ(ページテンプレート)で現在のページ送り番号を取得するには、'page' クエリ変数を使う必要があります。

<?php  $page = get_query_var( 'page', 1 );  ?>
<h1>現在静的フロントページ上で表示中のページ: <?php echo (int) $page; ?></h1>

注: 'page' クエリ変数には、コンテンツに <!--nextpage--> クイックタグが含まれページ送りが設定されている個別投稿または固定ページのページ数が含まれます。

get_query_var()WP_Query で認識されている「パブリック・クエリ変数」のみを取得します。言い換えれば、独自のクエリ変数でカスタム URL を作成したのみで追加処理(以下参照)を伴わない場合 get_query_var() はそういったクエリ変数を取得できません

カスタムクエリ変数

URL に付け加えるカスタムクエリ変数(例: add_query_arg() を使った "http://example.com/some_page/?my_var=foo" など)を使用するには、それらを WP_Query が扱えるパブリック・クエリ変数に追加する必要があります。パブリック・クエリ変数は WP_Query のインスタンスが作成される際に作られますが、幸運なことに実際に WP_Query$query_vars プロパティにデータを投入する前には 'query_vars' フィルタが通されます。

つまり、新しい独自クエリ変数を WP_Query に含めるには 'query_vars' フィルタにフックしてクエリ変数を $vars 配列に追加すればよいのです。フィルタ関数でその配列を返すようにしましょう。以下をご覧ください。

function add_query_vars_filter( $vars ){
  $vars[] = "my_var";
  return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
  • WP_Query::get() を参照。
  • グローバル (object) $wp_query を使用。

変更履歴

1.5.0 から導入。

ソースファイル

get_query_var()wp-includes/query.php にあります。

関連

逆の操作については set_query_var も参照してください。

記事

コード・ドキュメンテーション

  • クラス: WP_Query - WP_Query クラスの詳細な全容
  • クラス: WP_Comment_Query - コメント関連のクエリのためのクラス
  • クラス: WP_User_Query - ユーザー関連のクエリのためのクラス
  • オブジェクト: $wpdb - $wpdb オブジェクトの使い方全容
  • 関数: set_query_var()
  • 関数: get_query_var()
  • 関数: query_posts() - 追加のカスタムクエリを作成
  • 関数: get_post() - 項目の ID を取得しデータベース内にあるその投稿のレコードを返す
  • 関数: get_posts() - 投稿の配列を返すことに特化した関数
  • 関数: get_pages() - ページの配列を返すことに特化した関数
  • 関数: have posts() - クエリが投稿を返すか否かを判断する条件関数
  • 関数: the_post() - クエリ後に自動的にループを設定する
  • 関数: rewind_posts() - 現状のループをリセットする
  • 関数: setup_postdata() - ループ内で個別の結果を得るためのクエリデータを設定する
  • 関数: wp_reset_postdata() - 直前のクエリを復元する (通常はループ内の別のループの後に用いられる)
  • 関数: wp_reset_query()
  • 関数: is_main_query() - 変更されるクエリがメインのクエリであることを確認する
  • アクションフック: pre_get_posts - WordPressクエリが実行される前に変更する
  • アクションフック: the_post - post クエリの後で post オブジェクトを変更する
  • フィルターフック: found_posts - WP_Query オブジェクトの found_posts 値を変更する


参考


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/get query var最新版との差分