How to get a query variable?

时间:2014-06-25 作者:jay

我添加了一个具有以下函数的查询变量:

function add_my_query_var() {
    global $wp;
    $wp->add_query_var(\'myvar1\');
}
add_filter(\'init\', \'add_my_query_var\');
现在在特定页面(作者)example.com/author/admin/myvar1, $wp_query 返回值:

WP_Query Object
(
    [query] => Array
        (
            [author_name] => admin
            [myvar1] => 
        )

    [query_vars] => Array
        (
所以我可以看到变量已经设置好了。但是,由于它为空,我无法使用以下条件进行检查:

if ( get_query_var(\'myvar1\') ) {
    echo "is set";
}
还有什么其他方法可以检查myvar1 是否存在?我不能使用$_GET 因为permalinks。

编辑:以下是重写URL的代码:

add_rewrite_rule(\'author/([^/]+)/myvar1/?$\', \'index.php?author_name=$matches[1]&myvar1=$matches[2]\', \'top\');

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

如果空字符串与值无法区分,则可能应该提供不同的默认值。

$myvar = get_query_var( \'myvar1\', false );

if ( false !== $myvar ) {

    // stuff
}

结束

相关推荐

在WordPress中实现jQuery“点击即可展开”链接

Novice coder - apologies for any stupid comments我一直在试着在我的Wordpress博客页面上的一个div上制作一个show more按钮。我看过很多教程,它们似乎都同意JavaScript/jQuery是唯一的方法。许多解决方案依赖于创建两个单独的div,您可以切换“显示:无”,因为使用foreach (据我所知)无法分割的论点如果我可以简单地覆盖“最大高度”设置(而不必将其拆分为多个div),只需单击链接即可将div填充到自己所需的高度,这将非常有用。本