也就是说,从技术上讲,这不是一个“页面”,但它是一种使用mod\\u重写来显示内容的方法。这里的目标是添加foobar的URI段,该段将触发自定义查询,然后包括指定的模板文件。
添加重写规则:
add_action(\'init\', \'foo_add_rewrite_rule\');
function foo_add_rewrite_rule(){
add_rewrite_rule(\'^foobar?\',\'index.php?is_foobar_page=1&post_type=custom_post_type\',\'top\');
//Customize this query string - keep is_foobar_page=1 intact
}
请参见
WP_Query documentation 有关自定义查询字符串的详细信息。
注册新的查询变量:
add_action(\'query_vars\',\'foo_set_query_var\');
function foo_set_query_var($vars) {
array_push($vars, \'is_foobar_page\');
return $vars;
}
强制WP选择页面模板:
add_filter(\'template_include\', \'foo_include_template\', 1000, 1);
function foo_include_template($template){
if(get_query_var(\'is_foobar_page\')){
$new_template = WP_CONTENT_DIR.\'/themes/your-theme/template-name.php\';
if(file_exists($new_template))
$template = $new_template;
}
return $template;
}
通过访问设置->永久链接刷新重写,然后访问
http://yourdomain.com/foobar