好,所以我正在使用wordpress和PHP。
基本上,我从下拉菜单中选择了一个类别。然后我找到了父母。
但是随后出现了我似乎失败的部分。 $ parents的输出是一个带有名称而不是ID的字符串。
因此,我尝试将字符串中的每个单词放入数组中。 然后遍历它们并将其转换为ID号。
我评论了它似乎不起作用的地方。我在做什么错了?
//Create array
$categoriesArray = [];
//Get choice from wp-dropdown
$selected_val = $_POST['cat'];
//Get parents from choice divided by (this seems to output a string)
$parents = get_category_parents( $selected_val, true, ',' );
/*
//Make array from string
$categoriesArray = explode(",",$parents);
for ($i = 0; $i < count($categoriesArray); $i++) {
{
$categoriesArray[$i] = get_cat_ID($categoriesArray[$i]);
}
*/
//the array should look something like this.
//$categoriesArray = ["21","44"];
答案 0 :(得分:0)
try this,
function get_level($cat, $level = 0)
{
if ($cat->category_parent == 0) {
return $level;
} else {
$level++;
$cat = get_category($cat->category_parent);
return get_level($cat, $level);
}
}
if (is_category()) {
$cat = get_query_var('cat');
$your_cat = get_category($cat);
echo get_level($your_cat);
}
答案 1 :(得分:0)
这与类别名称有关。我需要使用子弹代替名字。
这是我的代码有效。我现在可以发布一个新帖子,并为其添加一个类别,其中包括他们的父母!
//Create array
$categoriesArray = [];
//Get choice from wp-dropdown
$selected_val = $_POST['cat'];
//Get parents from choice divided by ,
$parents = get_category_parents( $selected_val, true, ',',false);
//Make array from string
$categoriesArray = explode(",",$parents);
for ($i = 0; $i < count($categoriesArray); $i++)
{
$categoriesArray[$i] = get_cat_ID($categoriesArray[$i]);
}