在WordPress中传递和检索查询变量

时间:2011-01-31 作者:codeisforeva

我有两个作者页面,一个显示大约5篇文章。然后我尝试设置另一个页面,该页面将是他们所有的帖子。我创建了一个名为moreauthorposts的模板。php和我正在尝试将author变量传递到此页面。问题是我是否通过域。com/更多作者帖子?作者=johndoe它被剥去了。如何检索此值?这在wordpress中可能吗?我知道WP Rewrite正在劫持我的URL结构,我只是不确定。

我尝试过:

get_query_var(\'author\')
试着读了这篇文章,但没有任何运气:

http://codex.wordpress.org/Query_Overview

建议?

谢谢

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

我几乎可以肯定author 是内置的,所以使用author_more. 您需要将该var添加到query_vars 第一示例:

// add `author_more` to query vars
add_filter( \'init\', \'add_author_more_query_var\' );
function add_author_more_query_var()
{
    global $wp;
    $wp->add_query_var( \'author_more\' );
}
然后在你的more-author-posts.php 模板如下所示:

if ( get_query_var( \'author_more\' ) )
{
    // do your stuff
}
更新在以下URl示例/用例中有效:

http://example.com/index.php?author_more=value
但是,如果您想将其用作奇特的URl,则需要添加一个重写规则:

add_action(\'init\',\'add_author_more_rewrite_rule\');
function add_author_more_rewrite_rule()
{
    add_rewrite_rule(
        \'more-author-posts/(\\d*)$\',
        \'index.php?author_more=$matches[1]\',
        \'top\'
    );
}
现在你可以这样使用它

http://example.com/more-author-posts/value

结束

相关推荐