在wordpress中获取querystring参数值
我正在制作一个wordpress插件。我在锚中使用了add_query_string(),以便根据用户单击的链接加载内容。现在我需要知道在当前URI中获取参数值的最佳方法 这可能是一个非常基本和愚蠢的问题,但我是编程新手,所以如果我误解了一些术语,我很抱歉 代码如下:在wordpress中获取querystring参数值,wordpress,query-string,Wordpress,Query String,我正在制作一个wordpress插件。我在锚中使用了add_query_string(),以便根据用户单击的链接加载内容。现在我需要知道在当前URI中获取参数值的最佳方法 这可能是一个非常基本和愚蠢的问题,但我是编程新手,所以如果我误解了一些术语,我很抱歉 代码如下: if ( current_user_can('manage_options') ) { echo ( '<div>
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
}
if(当前用户可以(“管理选项”)){
回音(
'
'
);
//如果adminoption==1,则加载内容A
//如果adminoption==2,则加载内容B
}
我想你要求的是功能。
在您的情况下,应该使用get\u query\u var('adminoption')。
希望这有助于在David Carrus的评论中提出隐藏的答案: 无论如何,您可以尝试使用旧的php$\u GET['adminoption']
要从查询字符串中获取变量,可以使用PHP的
$\u get['key']
方法
根据您所做的工作,还可以使用get\u query\u var('key')
如果要将自定义查询变量与此函数一起使用,则需要使用筛选器修改支持的查询变量列表,您可以在上面链接的文档中阅读如何执行此操作。get\u query\u 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');
认识到这个问题很老,但希望它能帮助任何人。谢谢大卫。很好的建议,但对我来说还是空白。事实上,我甚至不知道是否应该使用add\u query\u arg()。我所需要做的就是根据查询字符串在同一页面上显示内容。我可以为每个链接创建一个页面,但这不是一个选项,因为我不会学习任何东西,学习是我在创建插件时遇到麻烦的主要原因。单击链接后,你的url是什么样的?只是想知道您的问题是否从add\u query\u arg()开始,这类似于www.yoursite.com/?adminoption=1。无论如何,您可以尝试使用旧的php$_GET['adminoption']。是的,单击链接后的URL是可以的。而且$_GET['adminoption']工作起来很有魅力。非常感谢!使用$\u GET Through时是否需要担心安全性?我假设您只显示基于参数的内容,而不将值放入DB查询中,也不直接在页面上使用它,因此您不应该有任何问题。我假设Wp使用函数来检索值,出于安全原因,添加控件并对其进行清理,但情况不应该是这样。奇怪的是,WP函数不起作用。你有什么错误吗?或者只是一个空白值?您正在编写代码的页面是什么类型的?只有纯空白值。这可能是我所说的范围吗?代码在一个静态函数中。您在
$vars[]
数组中添加了什么“组”?它不应该是$vars[]=“adminoption”
?+1奇怪的是get\u query\u var('key')
不适用于自定义参数,这是唯一提到它的答案