Wordpress URL重写无法正常工作

时间:2017-08-21 06:35:25

标签: php wordpress mod-rewrite

我正在尝试创建自己的固定链接,并使用自定义模板来执行该重写规则。以下是我希望我的网址为http://example.com/author/{author-id}

的方式

我的自定义网址

function prefix_author_rewrite_rule() {
    add_rewrite_rule( 'author/([^/]*)', 'index.php?id=$matches[1]', 'top' );
} 
add_action( 'init', 'prefix_author_rewrite_rule' );

我的查询版本

function prefix_register_query_var( $vars ) {
    $vars[] = 'id';

    return $vars;
}
add_filter( 'query_vars', 'prefix_register_query_var' );

设置模板

function prefix_url_rewrite_templates() {

    if ( get_query_var( 'id' ) ) {
        add_filter( 'template_include', function() {
            return get_template_directory() . '/author-details.php';
        });
    }
}

add_action( 'template_redirect', 'prefix_url_rewrite_templates' );

因此,如果我输入类似http://example.com/author/32的网址,则不会加载author-details.php,而是会给我一个空白页面。我指的是此链接https://code.tutsplus.com/articles/custom-page-template-page-based-on-url-rewrite--wp-30564

0 个答案:

没有答案