概要
get_query_var
関数は、WordPressのクエリ変数の値を取得するために使用される関数です。この関数は、カスタムクエリやフィルタリングされたコンテンツを表示する際に特に便利で、以下のような機能を実装する際によく使われます。
- カスタム投稿タイプの取得
- タクソノミーのフィルタリング
- ページネーションにおける現在のページの取得
- 検索結果のカスタマイズ
- 特定のクエリパラメータによる条件分岐
- URLセグメントに基づく動的なコンテンツ表示
- スラグやIDによる特定の投稿情報の取得
- AJAXリクエストにおけるデータ取得
構文
get_query_var( string $var, mixed $default = null )
パラメータ
string $var
(必須): 取得したいクエリ変数の名前。mixed $default
(オプション): 指定された変数が存在しない場合に返されるデフォルト値。
戻り値
指定されたクエリ変数の値。変数が存在しない場合はデフォルト値、または何も設定されていない場合はnull
を返します。
関連する関数
使用可能なバージョン
この関数は、WordPress 2.0以降で使用可能です。
コアファイルのパス
wp-includes/query.php
サンプルコード
サンプルコード1: カスタムクエリ変数の取得
$custom_var = get_query_var('my_custom_var');
if ($custom_var) {
echo 'カスタム変数の値: ' . esc_html($custom_var);
}
このサンプルでは、my_custom_var
というカスタムクエリ変数の値を取得し、存在する場合にその値を表示します。
サンプルコード2: ページの現在のクエリ取得
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
echo '現在のページ: ' . esc_html($paged);
このコードでは、クエリから現在のページ番号を取得し、表示しています。
サンプルコード3: タクソノミーのチェック
$taxonomy = get_query_var('taxonomy');
if ($taxonomy) {
echo '現在のタクソノミー: ' . esc_html($taxonomy);
}
このサンプルでは、現在のタクソノミーを取得し、その情報を表示します。
サンプルコード4: 検索クエリの確認
$search_query = get_query_var('s');
if (!empty($search_query)) {
echo '検索クエリ: ' . esc_html($search_query);
}
このコードは、検索用のクエリ変数を取得し、もし設定されていればその値を表示します。
サンプルコード5: AJAXリクエストでの使用例
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
$data = get_query_var('my_data');
wp_send_json_success($data);
}
このサンプルでは、AJAXリクエストの際に、my_data
というクエリ変数を取得して、JSON形式でクライアントに返しています。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | 〇 |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | 〇 |
get_header | |
wp_head |
非推奨または削除されたバージョン
get_query_var
関数は特定のWordPressバージョンで非推奨または削除されていません。