Получение значения параметра querystring в wordpress

Я делаю плагин wordpress. Я использовал add_query_string () внутри якорей, чтобы загрузить контент на основе ссылки, которую пользователь щелкнул. Теперь мне нужно знать, лучший способ получить значение параметра в текущем Ури.

Это, вероятно, довольно простой и глупый вопрос, но я новичок в программировании, поэтому мне жаль, если я неправильно понимаю некоторые термины.

этот код:

        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

        }

4 ответов


Я думаю, вы просите get_query_var ()


get_query_var ('adminoption') работает только со стандартными или зарегистрированными vars. Поэтому для нестандартных Wordpress vars вам нужно будет сначала зарегистрировать его в своих функциях.файл 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');

поймите, что вопрос старый, но надеюсь, что это поможет кому-нибудь.


повышение скрытого ответа в комментариях Дэвида Карруса:

в любом случае вы можете попробовать со старым php $_GET['adminoption'].


чтобы получить vars из строки запроса, вы можете использовать PHP $_GET['key'] метод.

в зависимости от того, что вы делаете, вы можете также использовать get_query_var('key'), эта функция работает с параметрами, принятыми классом WP_Query (cat, author и т. д.).

Если вы хотите использовать пользовательский запрос vars с этой функцией, вам нужно использовать query_vars фильтр чтобы изменить список поддерживаемых запросов vars, вы можете прочитать, как это сделать в связанной документации выше.