先说场景,wordpress的分类结构是这样的
Level 1: Top
Level 2: -Nextme_1
Level 3: --Nextme_2
--Nextme_3
Level 4: ---Nextme_4
---Nextme_5
现在我需要检查类别的级别是多少?假设我捕获了一个级别 3 的类别,所以我必须使用不同的模板,如果它是级别 4。那么我需要使用另一个模板吗?
谁能给我一些提示?
谢谢
拉胡尔
最佳答案
如果您没有很多类别,您可以尝试从管理员编辑他们的 slug,然后在您的页面中您可以通过这种方式获得类别 slug:
if (is_category()) {
$cat = get_query_var('cat');
$category = get_category($cat);
echo 'your slug is '. $category->slug;
}
现在,当您编辑类别 slug 时,请尝试根据它们的级别命名它们:cat-lvl-1、cat-lvl-2。然后在您的页面中使用一些 php 字符串函数从类别 slug 中提取数字,然后检查该数字:
if ($category->slug == 1 ) {
//load the template for the category of level 1
}
if ($category->slug == 2 ) {
//load the template for the category of level 2
}
等等。
稍后编辑: 试试这个:
function get_level($category, $level = 0)
{
if ($category->category_parent == 0) {
return $level;
} else {
$level++;
$category = get_category($category->category_parent);
get_level($category, $level);
}
}
if (is_category()) {
$cat = get_query_var('cat');
$yourcat = get_category($cat);
echo get_level($yourcat);
}
关于wordpress - 如何检查它是哪个级别的 wordpress 类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225920/