使用query_vars
筛选以添加新的查询变量以存储模板版本(minimal/complete)。
add_filter( \'query_vars\', \'se385568_query_vars\' );
function se385568_query_vars( $vars )
{
$vars[] = \'tpl\';
return $vars;
}
添加重写规则(
codex) 识别新的链接格式并设置新创建的查询变量
add_action( \'init\', \'se385568_rewrite_rules\' );
function se385568_rewrite_rules()
{
$cpt_slug = \'projects\';
add_rewrite_rule(
"^(minimal|complete)-template/([^/]+)(?:/([0-9]+))?/?$",
\'index.php?\'. $cpt_slug .\'=$matches[2]&tpl=$matches[1]&page=$matches[3]\',
\'top\'
);
}
使用
template_include
筛选以根据查询变量更改加载的模板。
add_filter( \'template_include\', \'se385568_project_template\', 90 );
function se385568_project_template()
{
$qv = get_query_var(\'tpl\', null);
if ( empty($qv) )
return $template;
//
// check $qv and return path to the appropriate file
//
$template = dirname(__FILE__) . \'/se385568_minimal_project.php\';
return $template;
}
请记住在添加代码后刷新重写规则(Dashboard->;Settings->;Permalinks->;Save)。