独自追加した「URLクエリ文字列(?key=xxx)」の値受渡(検証の例)
WordPressはデフォルトで設定されている「URLクエリ文字列」以外にも、
独自で「カスタムURLクエリ文字列」を追加定義する事ができます。
ここではカスタムクエリ文字列(URLクエリ文字列)で値を渡し、
その値をショートコード内部で受け取る例についてご紹介します。
概要
独自追加した「URLクエリ文字列(?key=xxx)」の値受渡(検証の例)
独自で「カスタムURLクエリ文字列」を追加定義する手順は以下でご紹介しています。
先にご一読いただけますと幸いです。
また、パラメータ形式のクエリ文字列をアドレスバーに表示せず、
ディレクトリ階層で表現し、URLリライトする方法は以下でご紹介しています。
値の取得の例
では、様々な値の取得方法でご紹介します。
$_SERVER[“QUERY_STRING”]
上記の取得方法はあまりやらない方法かと思います。
一般的には「$_SERVER[“QUERY_STRING”]」によるURLクエリの受け渡しをする方法もあります。
以下のURLにて確認できます。
「 [my_var] => 123value 」としてURL文字列の値が取得でき表示されているのが分かります。
$_GET
上記の取得方法はあまりやらない方法かと思います。
一般的には「$_GET」によるURLクエリの受け渡しが多いのではないでしょうか。
以下のURLにて確認できます。
「 [my_var] => 123value 」としてURL文字列の値が取得でき表示されているのが分かります。
$GLOBALS->WP->QUERY_VARS
URLクエリ文字列はグローバル変数として受け渡しが行われます。
その為、$GLOBAL変数から直接値を取得する例です。
以下のURLにて確認できます。
「 [my_var] => 123value 」としてURL文字列の値が取得でき表示されているのが分かります。
GET_QUERY_VAR( $VAR, $DEFAULT )
「get_query_var( ‘my_var’, ‘default’ )」にて既に変数名「my_var」を指定していますので、
値の「 123value 」だけURL文字列の値として取得できているのが分かります。
ですがこの変数では「set_query_var()」にて値の上書きができるという癖もありますので、
「set_query_var()」の呼び出しがされていないかなど、注意が必要かもしれません。
$wp_query->query_vars
おそらくはこの取得方法がWordPressの流儀に従った方法だと思います。
特にプログラム的に記述する場所などの制限などが無い限りは、
WordPress内の作法で取得しておく方がいいかと思います。
ここでのURL文字列を介した値の受け渡しは基本的な動作になります。
当然「カスタムURLクエリ文字列」自体をアドレスバーに表示したくないなど、
さらにカスタマイズする必要がある場合もあるでしょう。
それでも、まず基本的な挙動を既存WordPressに組み込んで、
実際に動くことを確認しながら、開発していくと、
実際に動かない場面に直面した際の条件の切り分けに役に立ちます。
当サイト内のコンテンツおよび画像を含むすべてにおいて、管理人アルゴリズンが著作権を保持しております。
当サイトでご紹介しております写真等につきましては著作権の放棄はしませんが、
ライセンスフリーでご利用いただいて構いません。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
サイト内コンテンツを引用される際には、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
公開日:
最終更新日:2018/05/02