web-dev-qa-db-ja.com

wordpressでクエリ文字列パラメータ値を取得する

wordpressプラグインを作成しています。ユーザーがクリックしたリンクに基づいてコンテンツをロードするために、アンカー内でadd_query_string()を使用しました。次に、取得する最良の方法を知る必要があります現在のURIのパラメータ値。

それはおそらくかなり基本的で愚かな質問ですが、私はプログラミングの初心者なので、いくつかの用語を誤って解釈した場合は申し訳ありません。

これはコードです:

        if ( current_user_can('manage_options') ) {
            echo (
                '<div>
                    <ul>
                        <li><a href="'.add_query_arg( 'adminoption', 1 ).'">option 1</a></li>
                        <li><a href="'.add_query_arg( 'adminoption', 2 ).'">option 2</a></li>
                    </ul>
                </div>'
            );

            // if adminoption == 1 load content A
            // if adminoption == 2 load content B

        }
10
rzb

get_query_var() 関数を求めていると思います。あなたのケースでは、get_query_var( 'adminoption')を使用する必要があります。それが役に立てば幸い

13
David Carrus

get_query_var( 'adminoption')は、標準または登録済みの変数でのみ機能します。したがって、非標準のWordpress varsの場合、最初にfunctions.phpファイルに登録する必要があります。

function rj_add_query_vars_filter( $vars ){
    $vars[] = "adminoption";
    return $vars;
}
add_filter( 'query_vars', 'rj_add_query_vars_filter' );

get_query_var('adminoption');

質問が古いことに気づきますが、それが誰にも役立つことを願っています。

12
Reine Johansson

David Carrusのコメントで隠された答えを上げる:

とにかく、古いphp $ _GET ['adminoption']を試してみてください。

10

クエリ文字列から変数を取得するには、PHPの_$_GET['key']_メソッドを使用できます。

何をしているのかに応じて、get_query_var('key')を使用することもできます。この関数は、WP_Queryクラス(cat、authorなど)が受け入れるパラメーターで動作します

この関数でカスタムクエリ変数を使用する場合は、 query_vars フィルターを使用して、サポートされているクエリ変数のリストを変更する必要があります。その方法については、ドキュメントを参照してください。上記のリンク。

8
Tomás Cot