如何为将按类别应用的单独帖子模板编写函数? Wordpress
问题描述:
下午好,有这样的任务。有两个类别,只有这两个类别的帖子应该使用一个帖子模板。现在我使用此代码,但它不适合,我必须为每个类别创建一个单独的模板。 (你需要有1个模板)。如何为将按类别应用的单独帖子模板编写函数? Wordpress
add_filter('single_template', 'check_for_category_single_template');
function check_for_category_single_template($t){
foreach((array) get_the_category() as $cat){
if (file_exists(TEMPLATEPATH . "/single-category-{$cat->slug}.php")) return TEMPLATEPATH . "/single-category-{$cat->slug}.php";
if($cat->parent){
$cat = get_the_category_by_ID($cat->parent);
if (file_exists(TEMPLATEPATH . "/single-category-{$cat->slug}.php")) return TEMPLATEPATH . "/single-category-{$cat->slug}.php";
}
}
return $t;
}
答
此功能与下面的变化一起工作。
我假设你已经定义了TEMPLATEPATH。
您还需要转到幻灯片和管道类别并获取这两个类别的slu gs。
如果它们与“幻灯片”和“管道”不同,请对其进行以下更改以使其匹配。
创建必须有此名称的模板:单品类slide_or_pipe.php
add_filter('single_template', 'check_for_category_single_template');
function check_for_category_single_template($t){
foreach((array) get_the_category() as $cat){
if($cat->slug === 'slides' || $cat->slug === 'pipe'){
if (file_exists(TEMPLATEPATH . "/single-category-slide_or_pipe.php")){
return TEMPLATEPATH . "/single-category-slide_or_pipe.php";
}
}
}
return $t;
}
+0
谢谢,我会尽力写信给你 –
+0
谢谢,它的工作! –
你能提供一个例子。它被描述的方式对我来说有点混乱。 – Juan
我有2个类别。对于来自这些类别的帖子需要制作一个自定义模板。@ juan –
例如,我有3个类别:幻灯片,管道,花花公子。 5个帖子属于幻灯片,管道类别。 5个职位属于兄弟类别。对于帖子类别幻灯片,想要显示自定义模板的管道@juan –