我正在制作一个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
}
答案 0 :(得分:13)
我认为你要求get_query_var()功能。 在您的情况下,您应该使用get_query_var('adminoption')。 希望它有所帮助
答案 1 :(得分:12)
get_query_var('adminoption')仅适用于标准或已注册的变量。因此,对于非标准的Wordpress变量,您需要先在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');
意识到问题已经过去了,但希望它可以帮助任何人。
答案 2 :(得分:9)
在David Carrus的评论中提出隐藏的答案:
无论如何,你可以试试旧的PHP $ _GET ['adminoption']。
答案 3 :(得分:7)
要从查询字符串中获取变量,您可以使用PHP的$_GET['key']
方法。
根据您的操作,您还可以使用get_query_var('key')
,this function works with parameters accepted by the WP_Query class (cat, author, etc)。
如果您想使用具有此功能的自定义查询变量,您需要使用query_vars过滤器来修改支持的查询变量列表,您可以在上面链接的文档中阅读如何执行此操作。