在single.php wordpress上设置子类别

任何人都可以帮助我或在php中翻译我想要的东西:
我需要这样的PHP代码:
如果来自父类别编号(1){</ p>

的子类别帖子将包含templatepath'/ single-Arabic.php </ p>

}
否则if 来自父类别编号的子类别帖子(2){</ p>

将包括templatepath'/ single-English.php </ p>

}
最好的问候< / p>
</ div>

展开原文

原文

can any one help me or translate what I want in php: I need php code like that: If child categories posts from the parent category number (1) {

will include templatepath'/single-Arabic.php

} else if child categories posts from the parent category number (2) {

will include templatepath'/single-English.php

} best regards

2个回答



最好检查类别名称而不是类别ID。 因此,假设您有两个类别“fruit”和“meat”,然后在 get_header(); </ code>调用之后的 single.php </ code>中添加以下行:< / p>

  if(has_term('fruit','category',$ post))get_template_part('single','fruit'); 
else if(has_term('meat', 'category',$ post))get_template_part('single','meat');
// else ...
</ code> </ pre>

这将有效,如果你' 我创建了文件 single-fruit.php </ code>和 single-meat.php </ code> </ p>

更多信息: https://codex.wordpress.org/Function_Reference/get_template_part </ p>
</ div>

展开原文

原文

It's better to check for category name rather than category ID. So lets say you have two categories, "fruit" and "meat", then in your single.php just after the get_header(); call, add these lines:

if(has_term('fruit', 'category', $post)) get_template_part('single', 'fruit');
else if(has_term('meat', 'category', $post)) get_template_part('single', 'meat');
// else...

This will work if you've created the files single-fruit.php and single-meat.php

More here: https://codex.wordpress.org/Function_Reference/get_template_part

doumen1883
doumen1883 嗨彼得,你有没有得到这个? 如果我的解决方案有帮助,请接受吗?
大约 5 年之前 回复
douli2876
douli2876 这通常使用像WPML(wpml.org)这样的插件来处理。 但你必须付钱。 如果您正在寻找一个免费选项,那么您是否尝试查看附加到每个页面的body元素的类,然后通过在CSS中定位这些类来更改这些页面的外观?
大约 5 年之前 回复
dq_609586475
dq_609586475 我需要的所有,发布英文的页面和阿拉伯语的过去页面
大约 5 年之前 回复
drctyr2869
drctyr2869 页眉和页脚图像和<a>标签文本和阿拉伯语标题的不同有方向rtl的div容器
大约 5 年之前 回复
doudong4532
doudong4532 你能提供你网站的链接吗?
大约 5 年之前 回复
doubiaozhan0745
doubiaozhan0745 所以你想要做的就是根据英语/阿拉伯语有不同的形象?
大约 5 年之前 回复
dpwtr666638
dpwtr666638 页眉和页脚没有链接只包含不同的图像
大约 5 年之前 回复
doushun4666
doushun4666 请重新阅读我的评论。 WordPress中的页眉和页脚在整个站点中都是相同的。 为什么不将链接移动到页面模板文件中而不是在页眉和页脚中?
大约 5 年之前 回复
doucheng3811
doucheng3811 我已经为标题阿拉伯语创建了单个ar.php,为标题英语创建了单个en.php ..所以你需要在single.php中编写连接阿拉伯语类别子类别帖子以连接单个ar.php,相同的单词为 英语..对不起我的英语
大约 5 年之前 回复
dtbam62840
dtbam62840 页眉和页脚具有不同的列表项文本,使用页面属性面板的不同模板从页面管理屏幕创建的任何内容..所以我需要像页面属性面板那样为英语和阿拉伯语帖子类别制作不同的标题...我认为不是 找到像模板一样在页面属性面板中选择类别和帖子..所以我已经考虑过并得到答案,制作包含类别和类别的英语类别,其中包含用于标题英语的帖子,以及用于阿拉伯语类别的相同单词
大约 5 年之前 回复
dqsa17330
dqsa17330 页眉和页脚是在整个网站上共享的。 你需要在页眉和页脚中做些什么? 你确定你不能使用CSS进行更改吗? 如果不这样做,为什么不将页眉和页脚代码移动到模板中? 然后你可以使用我上面的代码。
大约 5 年之前 回复
dongruoqiong9017
dongruoqiong9017 请帮帮我..
大约 5 年之前 回复
dotxo86440
dotxo86440 抱歉没有工作,我想你不明白,让我解释一下:我有父类别(阿拉伯语)和父类别(英语),其中任何类别都有四个类别,四个类别的任何类别都有帖子......所以 我需要来自英语父类别的子类别的帖子使用不同的页眉和页脚也用于阿拉伯语父类别使用不同的页眉和页脚
大约 5 年之前 回复
dongyuan4790
dongyuan4790 对不起工作,你我觉得你不理解我:
大约 5 年之前 回复

here is the function to get top parent category.

let suppose you have category

1 . English
-- sub 1 English category
-- sub 2 English category

2 . Arabic
-- sub 1 Arabic category
-- sub 2 Arabic category

and you are on the post page where it say current category sub 2 English then you call function

$Parent = strtolower(get_top_category());

it will return top category name which is English, after that condition will check if category is English then include 'single-English.php'

vice versa for Arabic.

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';
}
douhuireng4407
douhuireng4407 我认为您不必担心该帖子是否属于儿童类别。 您唯一关心的是它是否具有特定类别(英语或阿拉伯语)。 因此,无需使用4行代码来检查父类别。 只需检查此帖子是否属于该类别 - if(has_term('english','category',$ post))
大约 5 年之前 回复
dousi8559
dousi8559 有我的旧single.php代码<?php $ post = $ wp_query-> post; if(in_category('24')){include(TEMPLATEPATH。'/ single-ar.php'); } elseif(in_category('25')){include(TEMPLATEPATH。'/ single-en.php'); 数字24是阿拉伯语类别的数量,数字25是类别英语的数量,我需要显示类别英语的子类别的帖子与阿拉伯语相同
大约 5 年之前 回复
dongquelu1239
dongquelu1239 请使用运行它的php代码更新您的问题,添加您的single.php代码
大约 5 年之前 回复
douzuo0002
douzuo0002 我需要显示子类别中的帖子,您可以尝试与我一起解决此问题
大约 5 年之前 回复
duanlan2003
duanlan2003 这是single.php中最好的代码
大约 5 年之前 回复
dshgdhdfcas30210
dshgdhdfcas30210 不,不工作,当我点击帖子...只显示英语单词和阿拉伯语
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐