罗密斯,
你建议的方法肯定会奏效,而且可能是最简单的;然而,我可以肯定地看到这种情况并不理想。要更“以编程方式”完成此操作,您需要执行以下操作:
1) 设置新的查询变量
2) 生成新的重写规则以理解该查询变量
3) 当查询变量匹配时重定向到模板。
这里有一些代码可以帮助您。
1: 添加查询变量
function query_vars( $public_query_vars ) {
$public_query_vars[] = \'romes_var\';
return $public_query_vars;
}
add_filter( \'query_vars\', \'romes_query_vars\' );
2:关联重写规则以处理查询变量
function romes_generate_rewrite_rules( $wp_rewrite ) {
$new_rules = array();
$new_rules[\'(photos)/?$\'] = \'index.php?romes_var=$matches[1]\';
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_action( \'generate_rewrite_rules\', \'romes_generate_rewrite_rules\' );
3:检测查询变量并重定向到模板
function romes_template_redirect() {
if ( \'photos\' == get_query_var( \'romes_var\' ) ) {
load_template( get_stylesheet_directory_uri() . \'/template-photos.php\' );
exit();
}
}
add_action( \'template_redirect\', \'romes_template_redirect\' );
这段代码并没有经过专门测试,但应该可以帮助您完成大部分工作。在尝试使用此代码运行脚本之前,请确保刷新重写规则(只需访问permalinks页面)。