Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在wordpress中获取querystring参数值_Wordpress_Query String - Fatal编程技术网

在wordpress中获取querystring参数值

在wordpress中获取querystring参数值,wordpress,query-string,Wordpress,Query String,我正在制作一个wordpress插件。我在锚中使用了add_query_string(),以便根据用户单击的链接加载内容。现在我需要知道在当前URI中获取参数值的最佳方法 这可能是一个非常基本和愚蠢的问题,但我是编程新手,所以如果我误解了一些术语,我很抱歉 代码如下: if ( current_user_can('manage_options') ) { echo ( '<div>

我正在制作一个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

        }
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')
不适用于自定义参数,这是唯一提到它的答案