我正在尝试创建自己的固定链接,并使用自定义模板来执行该重写规则。以下是我希望我的网址为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