将/类别/添加到作者存档页面

时间:2017-02-12 作者:Eder Augusto

我想将/category/添加到作者存档页面,以便仅过滤所有作者的特定类别中的帖子,如下所示:mysite.com/author/me/movies

有没有一种方法可以使用函数来实现?我知道怎么用这样的东西mysite.com/author/me/?category=movies, 但我想使用正确的永久链接。

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

您可以通过使用“add\\u rewrite\\u rule”添加新的重写规则来实现这一点。

如果类别是默认的WordPress类别,则无需注册query_var 但如果您的类别是自定义类别,那么您必须注册query_var 使用query_vars 滤器

如果category 是默认的WordPress类别:

function wpse256215_custom_rewrite_rule() {
    add_rewrite_rule(\'^author/([^/]*)/([^/]*)/?\',\'index.php?author_name=$matches[1]&category_name=$matches[2]\',\'top\');
}
add_action(\'init\', \'wpse256215_custom_rewrite_rule\', 10, 0);
如果category 是自定义查询变量(author\\u类别):

function wpse256215_custom_rewrite_rule() {
    add_rewrite_rule(\'^author/([^/]*)/([^/]*)/?\',\'index.php?author_name=$matches[1]&author_category=$matches[2]\',\'top\');
}
add_action(\'init\', \'wpse256215_custom_rewrite_rule\', 10, 0);

function wpse256215_query_vars( $query_vars ) {
    $query_vars[] = \'author_category\';
    return $query_vars;
}
add_filter( \'query_vars\', \'wpse256215_query_vars\' );
要在模板中使用自定义查询变量,可以使用get_query_var 功能:

$author_category = get_query_var( \'author_category\' );

REFERENCE:

相关推荐

使用wp_Dropdown_Categories($args)的输出

请温柔点,我对所有这些编码都是新手!我终于找到了如何获得前端下拉字段,允许我从EDD类别中进行选择(我从Codex中获得):<div class=\"gallery-row\"> <li id=\"categories\"> <h2><?php _e( \'Categories:\' ); ?></h2> <form id=\"category-select\" class=\"category-