您好我有一个博客,其中的类别是新闻,事件和灵感。使用acf上的单选按钮选择这些类别。我想在single-news.php上加载新闻,而单个events.php上的事件和single-inspiration.php上的灵感
是否可以使用acf字段来执行此操作? 我发现这个代码用wordpress默认类别加载自定义single.php
$post = $wp_query->post;
if (in_category('1')) {
include(TEMPLATEPATH.'/single1.php');
} elseif (in_category('2')) {
include(TEMPLATEPATH.'/single2.php');
} else {
include(TEMPLATEPATH.'/single_default.php');
}
使用acf时可以使用什么代替'in_category'?
谢谢你们。答案 0 :(得分:0)
/*
@ in_category(int [wp_category_id], int [post_id])
*/
$post = $wp_query->post;
if (in_category(1, $post->ID)) {
include(TEMPLATEPATH.'/single1.php');
} elseif (in_category(2, $post->ID)) {
include(TEMPLATEPATH.'/single2.php');
} else {
include(TEMPLATEPATH.'/single_default.php');
}
答案 1 :(得分:0)
假设您的acf字段被称为acf_category
,您可以这样做..
$post = $wp_query->post;
$post_cat = get_field('acf_category', $post->ID);
switch($post_cat){
case "news":
include(TEMPLATEPATH.'/single-news.php');
break;
case "events":
include(TEMPLATEPATH.'/single-events.php');
break;
case "inspiration":
include(TEMPLATEPATH.'/single-inspriation.php');
break;
default:
include(TEMPLATEPATH.'/single.php');
}
请注意,您可能需要更改switch
个案例(这也可以通过if/else
完成)以反映您的acf的实际slu ,,这些只是猜测。重要的部分是get_field()
函数调用,它将为给定的post id提取适当的acf字段。 Here是所有acf函数的列表,有很好的文档记录
答案 2 :(得分:0)
只需更改函数内的类别ID或slug,如
in_category('1')
到
in_category('news')