使后续网址保留query_vars。

时间:2017-05-23 20:47:54

标签: php wordpress

我有以下代码,允许我根据给定网址在我的WP网站上使用自定义模板。

//* Create Variables for URL Templates
function sjc_add_query_vars($vars) {
return array('template') + $vars;
}
add_action('query_vars', 'sjc_add_query_vars',10,1);

//* Load Cutstom Page Templates by URL
function sjc_template($template) {
global $wp;
if ($wp->query_vars['template']=='basic') {
global $post;
$posttype = get_post_type($post->ID);
return dirname( __FILE__ ) . '/single-'. $posttype .'-basic.php';
}
else {
return $template;
}
}
add_filter( 'template_include', 'sjc_template', 99 );

这很有效。问题是如果您单击该页面上的任何链接,则网址将恢复并使用默认模板。那么,有没有办法让自定义模板页面上的任何链接继续使用该自定义模板?

1 个答案:

答案 0 :(得分:1)

您有很多选择。创建一个保留变量的搜索结果模板可能是最理智的方式,但是你可以做一些事情,比如写一个cookie,把它们存储在会话中......或者......

一般来说,WP“希望”您使用搜索结果模板文件。该文件将保留query_vars。