現在WordPressでサイト構築中ですが、
wordpressの固定ページでGETパラメーターを利用しようとしましたところ、URLが返値で帰ってきました。
値を取得したいのに、このようなパターンは、はじめてだったので、ご相談させてください。
【環境】
AWS EC2 RDS
Amazon Linux
Nginx
PHP7.1(FPM)
WORDPRESS(バージョン 5.2.4)
【対象URL】※実際のURLではございません。
https://demo.sample.com/others/result/?abcd=attachment
※demo.sample.comの環境下(/var/www/html/others/)でothersのようにディレクトリで切って各種WPをテスト運用してます。
【操作】
PHP
1$str = $_GET['abcd']; 2echo $str; 3var_dump $_GET['str']; 4var_dump $_GET;
【結果】
echo $str → NULL
var_dump $_GET['str'] → NULL
var_dump $_GET → array(1) { ["q"]=> string(31) "/others/result/?abcd=attachment" }
【想定と行った対応】
・パーマリンクあたりの設定が悪さしているのか?カスタム投稿タイプのパーマリンクを変更します。
・functions.phpへパラメーターの登録を行った。
PHP
1function set_org_query_vars( $query_vars ) { 2 $query_vars[] = 'abcd'; // 独自のパラメータ 3 $query_vars[] = 'efgh'; // 独自のパラメータ 4 return $query_vars; 5} 6add_filter('query_vars', 'set_org_query_vars');
・ディレクトリトップ(https://demo.sample.com/test.php)では正常にGETできた。
【少し更新:2019年10月16日15:00】
複数のパラメータは取得できました。一つ目の要素のみ取得できません。
例:
https://demo.sample.com/others/result/?one=1&two=2&three=3
echo $_GET['one'] → NULL
echo $_GET['two'] → 2
echo $_GET['three'] → 3
以上 よろしくお願い申し上げます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/18 00:17 編集
2019/10/18 00:55