Wordpressのプラグインで、add_rewrite_ruleを追加して /-/ のときだけ別の処理に飛ばしています。
サイトを参考にしながら、設定をしました。
php
1 public function init(){ 2 //略 3 add_action('init', array($this, 'add_api_routes')); 4 add_filter('query_vars', array($this, 'manage_api_routes_query_vars')); 5 //略 6 } 7 public function add_api_routes() { 8 add_rewrite_rule('^mypage/\-/([^/]+)/?([^/]*)/?', 'index.php?myplugin_api_action=$matches[1]&myplugin_api_key=$matches[2]', 'top'); 9 } 10 11 public function manage_api_routes_query_vars($query_vars) { 12 $query_vars[] = 'myplugin_api_action'; 13 $query_vars[] = 'myplugin_api_key'; 14 return $query_vars; 15 }
URLの内容を別なファンクション内で取得して処理を行おうとしています。
php
1 $api_action = get_query_var( 'myplugin_api_action' ); 2 $api_key = get_query_var( 'myplugin_api_key' );
しかしながら、
$api_action の値には "$matches[1]" という文字列が、
$api_key の値には "$matches[2]" という文字列が格納されています。
正規表現でマッチした内容を格納してくれません。
原因がわからず、また同様な問題の直面している事例を見つけることができずにいます。
何が原因なのでしょうか?
またどのような可能性が考えられるでしょうか?
よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー