我有一项任务是创建一个特定于该类别的模板。所以让我们说我有10个类别,但我想创建一个特定的模板,让我们说3个。因此,如果类别是a,b或c,我将应用某个模板。
然后当我创建帖子并将其附加到特定类别时,我需要显示与该类别相关联的特定模板。
任何标题?
答案 0 :(得分:0)
高级自定义字段https://www.advancedcustomfields.com/插件应该允许您根据类别显示不同的模板。它有一些非常奇特的功能,但不记得它是否可以做到这一点。
有免费版本,请试一试。让我知道你怎么走;)
答案 1 :(得分:0)
请尝试以下代码。
if (in_category('21')) {include (TEMPLATEPATH . '/single-a.php');
}
else if (in_category('22')) {include (TEMPLATEPATH . '/single-b.php');
}
else if (in_category('23')) {include (TEMPLATEPATH . '/single-c.php');
}
else { include (TEMPLATEPATH . '/single-29.php');
}
单a,单b,单c是3个模板,用于不同的类别和主要代码。
答案 2 :(得分:0)
如果您参考Category_Templates
Wordpress将按以下格式自动检索类别文件:
category-slug.php
或category-ID.php
假设您有3个类别,类别a ,类别b ,类别c ,您可以轻松地分配每个模板创建 category-a.php , category-b.php , category-c.php ,并将您的愿望模板放在文件中,Wordpress将处理剩下的事情。
答案 3 :(得分:0)
您可以在这里使用category_template
function wp_category_template( $template ) {
$cat = get_queried_object(); // get category object
if( 1 ) // check condition
$template = locate_template( 'template.php' ); // load template
return $template;
}
add_filter( 'category_template', 'wp_category_template' );
答案 4 :(得分:0)
您有3个选项:
选项1:您可以创建3个模板并根据WordPress Template Hierarchy命名,如下所示:
选项2:在函数文件中使用PHP代码为3个不同的类别加载1个模板:
add_filter( 'template_include', 'custom_category_template', 99 );
function custom_category_template( $template ) {
if ( is_category(array( 1,2,3 ) ) ) {
$new_template = locate_template( array( 'custom.php' ) );
if ( '' != $new_template ) {
return $new_template;
}
}
return $template;
}
根据您是要为特定类别的帖子加载模板还是仅为类别存档页面加载模板,请使用in_category or is_category conditional tag。
选项3 :您可以将选项2中的代码与category_template filter一起使用:
add_filter( 'category_template', 'custom_category_template' );
function custom_category_template( $template ) {
if ( is_category(array( 1,2,3 ) ) ) {
$template = locate_template( 'custom.php' );
}
return $template;
}
假设您的类别i.d为1,2和3.将这些类别与您的安装相匹配category i.d's