在wordpress中获取查询字符串参数值

rzb*_*rzb 10 wordpress query-string

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

        }
Run Code Online (Sandbox Code Playgroud)

Dav*_*rus 13

我想你要求get_query_var()函数.在您的情况下,您应该使用get_query_var('adminoption').希望能帮助到你

  • 点击链接后你的网址是什么样的?它是否类似www.yoursite.com/?adminoption=1只是要知道你的问题是否在add_query_arg()上开始.无论如何,你可以尝试旧的PHP $ _GET ['adminoption']. (2认同)

Rei*_*son 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');
Run Code Online (Sandbox Code Playgroud)

意识到这个问题很老但希望它可以帮助任何人.


Tay*_*tes 10

在David Carrus的评论中提出隐藏的答案:

无论如何,你可以尝试旧的PHP $ _GET ['adminoption'].


Tom*_*Cot 8

要从查询字符串中获取变量,可以使用PHP的$_GET['key']方法.

根据您正在做的事情,您也可以使用get_query_var('key'),此函数使用WP_Query类(cat,author等)接受的参数.

如果要使用具有此功能的自定义查询变量,则需要使用query_vars过滤器来修改受支持的查询变量列表,您可以在上面链接的文档中阅读如何执行此操作.