问题描述

我有两个作者页面,一个显示大约 5 个帖子。然后我试图设置另一个页面,将其全部的职位。我创建了一个名为 moreauthorposts.php 的模板,我试图将作者变量传递给此页面。问题是如果我通过 domain.com/more-author-posts?author=johndoe 它被剥离。如何检索该值?这是甚么可能在 wordpress?我知道 WP Rewrite 是我的 URL 结构,但我不知道是什么。

我试过了:

get_query_var('author')

并尝试阅读,但没有任何运气:

http://codex.wordpress.org/Query_Overview

建议?

谢谢。

最佳解决方案

我几乎肯定 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
}

Update

这在以下 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

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。