質問: get_query_var( 'myplugin_api_key' ); ``` しかしながら、 $api_action の値には "$matches[1]" という文字列が、 $api_key の値には "$matches[2]" という文字列が格納されています。 正規表現でマッチした内容を格納してくれません。 原因がわからず、また同様な問題の直面している事例を見つけることができずにいます。 何が原因なのでしょうか? またどのような可能性が考えられるでしょうか? よろしくおねがいします。
回答: Daregadaさん、情報ありがとうございます。(質問への追記依頼欄への投稿) WP設定の「パーマリンク設定」の更新が必要だったんですね。 調べてみると、パーマリンク処理はとても注意が必要で、 **add_rewrite_rule で追加するだけではルールは適用されない** プラグインを作成や修正でリライトルールを追加したり、修正しても反映されず、 一度、プラグインを 無効➝有効 にするか、WP 設定➝パーマリンク設定で更新が必要... そして、 **プラグイン内で、リライトルールを書き換える(反映させる)には flush_rewrite_rules が必要** 負荷が大きいことを理由に register_activation_hook(プラグイン有効時)が推奨されている。 「プラグイン有効時」だけにすると「プラグイン更新時」は反映されないので注意 下記に flush_rewrite_rules のタイミングとして良さそうなものを記載します。 プラグイン有効時 register_activation_hook プラグイン無効時 register_deactivation_hook プラグイン更新時 upgrader_process_complete