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

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

「関数リファレンス/get query var」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(2013-08-21T11:49:53 Tomauger 版から新規作成、見出しのみ和訳)
 
(和訳完了。)
1行目: 1行目:
{{NeedTrans|一部}}
 
 
== 説明 ==
 
== 説明 ==
Retrieve [[WordPress_Query_Vars|public query variable]] in the [[Class_Reference/WP_Query|<tt>WP_Query</tt>]] class of the global $wp_query object.
+
グローバル <tt>$wp_query</tt> オブジェクトの [[Class_Reference/WP_Query|<tt>WP_Query</tt>]] クラス内の [[WordPress_Query_Vars|public query variable]] /[[:en: WordPress_Query_Vars|en]] を取得する。
  
 
== 使い方 ==
 
== 使い方 ==
7行目: 6行目:
  
 
== パラメーター ==
 
== パラメーター ==
{{Parameter|$var|string|The variable key to retrieve.}}
+
{{Parameter|$var|string|取得する変数キー。}}
  
 
== 戻り値 ==
 
== 戻り値 ==
 
; (mixed) :
 
; (mixed) :
returns empty string if var is not set
+
var が設定されていない場合は空の文字列を返す。
  
 
== 例 ==
 
== 例 ==
 
<!-- Need creative examples. Feel free to link to external examples. -->
 
<!-- Need creative examples. Feel free to link to external examples. -->
=== 現在のページネーション番号を取得する ===
+
=== 現在のページ送り番号を取得する ===
 
<pre>
 
<pre>
  
 
<?php  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;  ?>
 
<?php  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;  ?>
  
<h1>Currently Browsing Page <?php echo $paged; ?></h1>
+
<h1>現在表示中のページ: <?php echo $paged; ?></h1>
  
 
</pre>
 
</pre>
  
For getting the current pagination number on a [[Creating_a_Static_Front_Page|static front page]] (Page template) you have to use the 'page' query variable:
+
[[Creating_a_Static_Front_Page|静的フロントページ]](ページテンプレート)で現在のページ送り番号を取得するには、'page' クエリ変数を使う必要があります。
 
   
 
   
 
<pre>
 
<pre>
 
<?php  $paged = (get_query_var('page')) ? get_query_var('page') : 1;  ?>
 
<?php  $paged = (get_query_var('page')) ? get_query_var('page') : 1;  ?>
<h1>Currently Browsing Page <?php echo $paged; ?> On a static front page</h1>
+
<h1>現在静的フロントページ上で表示中のページ: <?php echo $paged; ?></h1>
 
</pre>
 
</pre>
  
Note: The query variable 'page' holds the pagenumber for a single paginated Post or Page that includes the <code>&lt;!--nextpage--&gt;</code> Quicktag in the post content.
+
: 'page' クエリ変数には、コンテンツに <code>&lt;!--nextpage--&gt;</code> クイックタグが含まれページ送りが設定されている個別投稿または固定ページのページ数が含まれます。
  
 
== 注 ==
 
== 注 ==
<tt>get_query_var()</tt> only retrieves '''public query variables''' that are recognized by <tt>WP_Query</tt>. This means that if you create your own custom URLs with their own query variables, <tt>get_query_var()</tt> '''will not retrieve them''' without some further work (''see below'').
+
<tt>get_query_var()</tt> <tt>WP_Query</tt> で認識されている「パブリック・クエリ変数」のみを取得します。言い換えれば、独自のクエリ変数でカスタム URL を作成したのみで追加処理(以下参照)を伴わない場合 <tt>get_query_var()</tt> はそういったクエリ変数を'''取得できません'''
  
 
=== カスタムクエリ変数 ===
 
=== カスタムクエリ変数 ===
In order to be able to add and work with your own custom query vars that you append to URLs (eg: "http://mysite.com/some_page/?my_var=foo" - for example using [[Function_Reference/add_query_arg|add_query_arg()]]) you need to add them to the '''public query variables''' available to <tt>WP_Query</tt>. These are built up when <tt>WP_Query</tt> instantiates, but fortunately are passed through a filter [[Plugin_API/Filter_Reference/query_vars|'query_vars']] before they are actually used to populate the <tt>$query_vars</tt> property of <tt>WP_Query</tt>.
+
URL に付け加えるカスタムクエリ変数(例: [[関数リファレンス/add_query_arg|add_query_arg()]] を使った "http://example.com/some_page/?my_var=foo" など)を使用するには、それらを <tt>WP_Query</tt> が扱える'''パブリック・クエリ変数'''に追加する必要があります。パブリック・クエリ変数は <tt>WP_Query</tt> のインスタンスが作成される際に作られますが、幸運なことに実際に <tt>WP_Query</tt> の <tt>$query_vars</tt> プロパティにデータを投入する前には [[プラグイン API/アクションフック一覧/query_vars|'query_vars']] フィルタが通されます。
  
So, to expose your new, custom query variable to <tt>WP_Query</tt> hook into the [[Plugin_API/Filter_Reference/query_vars|'query_vars']] filter, add your query variable to the <tt>$vars</tt> array that is passed by the filter, and remember to return the array as the output of your filter function. See below:
+
つまり、新しい独自クエリ変数を <tt>WP_Query</tt> に含めるには [[プラグイン API/アクションフック一覧/query_vars|'query_vars']] フィルタにフックしてクエリ変数を <tt>$vars</tt> 配列に追加すればよいのです。フィルタ関数でその配列を返すようにしましょう。以下をご覧ください。
  
 
<pre>
 
<pre>
49行目: 48行目:
 
</pre>
 
</pre>
  
* See <tt>WP_Query::get()</tt>
+
* <tt>WP_Query::get()</tt> を参照。
* Uses global: (<tt>object</tt>) [[Class_Reference/WP_Query|<tt>$wp_query</tt>]]
+
* グローバル (<tt>object</tt>) [[Class_Reference/WP_Query|<tt>$wp_query</tt>]] を使用。
  
 
== 変更履歴 ==
 
== 変更履歴 ==
[[Version 1.5|1.5.0]] から導入されました。
+
[[Version 1.5|1.5.0]] から導入。
  
 
== ソースファイル ==
 
== ソースファイル ==

2014年4月3日 (木) 06:55時点における版

説明

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

使い方

<?php get_query_var( $var ) ?>

パラメーター

$var
string) (必須) 取得する変数キー。
初期値: なし

戻り値

(mixed) 

var が設定されていない場合は空の文字列を返す。

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


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

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

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

<?php  $paged = (get_query_var('page')) ? get_query_var('page') : 1;  ?>
<h1>現在静的フロントページ上で表示中のページ: <?php echo $paged; ?></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 にあります。

関連

記事

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

  • クラス: 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最新版との差分