我为我的帖子类型制作了一个模板,效果很好。但是,我希望对原件的某些部分进行类似的复制。
我有一个使用 ajax 调用jQuery $.get
,我想定位第二个帖子类型模板以仅将 html 拉入当前页面。
目前,ajax 调用会加载整个页面,包括脚本。Modernizr 像整个内容一样被加载。
我尝试过使用查询变量,如下所示:
// http://scratch99.com/wordpress/development/how-to-change-post-template-via-url-parameter/
function sjc_add_query_vars($vars) {
return array('template') + $vars;
}
add_filter('query_vars', 'sjc_add_query_vars');
function sjc_template($template) {
global $wp;
if ($wp->query_vars['template'] === 'test') {
return dirname( __FILE__ ) . '/single-test.php';
}
else {
return $template;
}
}
add_filter('single_template', 'sjc_template');
该代码运行良好,但是我收到此错误
Notice: Undefined index: template in /wp-content/themes/custom--theme/functions.php on line 262
262 is: f ($wp->query_vars):
当正常加载项目单时,我认为这是代码命中 else 语句时的问题。
任何帮助都会很棒。