任何人都可以帮助我或翻译我想要的PHP: 我需要这样的PHP代码: 如果子类别来自父类别编号(1){
将包含templatepath'/ single-Arabic.php
} 否则如果子类别来自父类别编号(2){
将包含templatepath'/ single-English.php
} 最好的问候
答案 0 :(得分:0)
检查类别名称而不是类别ID会更好。所以假设你有两个类别,"水果"和#34;肉",然后在single.php
电话后的get_header();
中,添加以下内容:
if(has_term('fruit', 'category', $post)) get_template_part('single', 'fruit');
else if(has_term('meat', 'category', $post)) get_template_part('single', 'meat');
// else...
如果您已创建文件single-fruit.php
和single-meat.php
更多信息:https://codex.wordpress.org/Function_Reference/get_template_part
答案 1 :(得分:0)
这是获得顶级父类别的功能。
假设您有类别
1。英语
- sub 1英语类别
- sub 2英语 类别2。阿拉伯语
- sub 1阿拉伯语类别
- sub 2阿拉伯语 类别
并且您在帖子页面上说当前类别sub 2 English
然后你调用函数
$Parent = strtolower(get_top_category());
它将返回顶级类别名称 English
,之后该条件将检查类别是否为英语,然后include 'single-English.php'
反之亦然。
function get_top_category() {
$category = get_the_category();
$cat_tree = get_category_parents($category[0]->term_id, FALSE, ':', TRUE);
$top_cat = split(':',$cat_tree);
return $parent = $top_cat[0];
}
echo '<pre>';print_r(get_top_category());echo '</pre>';
$Parent = strtolower(get_top_category());
if($Parent == "english") {
include 'templatepath/single-English.php';
}
else if($Parent == "arabic") {
include 'templatepath/single-Arabic.php';
}