我有一个Wordpress网站,我为每个页面创建了页面和模板文件。 当我打开任何网址时,它会显示与网址关联的模板文件。 除了“博客”网址,它似乎不被识别为有效页面,并向我显示主页布局。如果我为其他内容重写页面URL和页面名称并将functions.php中的语句调整为新页面的名称,则可以正常工作。 好吧,我希望它也适用于“博客”。 可能是什么问题呢?欢迎任何想法。
if (isset($wp->query_vars["pagename"]) && $wp->query_vars["pagename"] == 'blog') {
$templatefilename = 'layout-blog_layout.php';
if (file_exists(TEMPLATEPATH . '/' . $templatefilename)) {
$return_template = TEMPLATEPATH . '/layouts/' . $templatefilename;
} else {
$return_template = $plugindir . '/layouts/' . $templatefilename;
}
do_theme_redirect($return_template);
}
答案 0 :(得分:0)
问题在于我将registered_post_type作为"博客",因此它不能用作页面。 query_vars中的页面名称没有为该URL设置,因此它不能被识别为页面。相反,我更改了语句以观察post_type = blog。
if (isset($wp->query_vars["post_type"]) && !isset($wp->query_vars["blog"]) && $wp->query_vars["post_type"] == 'blog') {
$templatefilename = 'layout-blog_layout.php';
if (file_exists(TEMPLATEPATH . '/' . $templatefilename)) {
$return_template = TEMPLATEPATH . '/layouts/' . $templatefilename;
} else {
$return_template = $plugindir . '/layouts/' . $templatefilename;
}
do_theme_redirect($return_template);
}