【发布时间】:2013-08-19 19:34:16
【问题描述】:
我创建了一个递归函数,我需要的是获取该产品的父类别描述和term_id。
function desc_pro($parent) {
$term = get_term_by('parent', $parent, 'product_cat');
$description = $term->description;
while($description == null) {
$desc = desc_pro($term->parent);
return $desc;
}
return $description;
}
现在,当我运行此代码时,我得到了正确的描述。 但是,如果我删除任何退货,那么它将无法正常工作。它显示空白。 (这样可以吗?我觉得代码错了?)
第二:我需要 term_id,当我创建数组时,它也会发送所有子类别 ID。这是错误的。我只需要那个有描述的id。
我认为代码是错误的?还是有什么其他问题?
这是我的数组:(我发送的是我的 php 页面中的父类别。所以我调用 函数get_desc(48);)
它给了我第一个对象,现在我必须测试描述是否可用? 如果是,则停止并返回描述,它是 term_id。 如果它不可用,则获取父 ID 并再次检查。如此继续,直到找到描述。
stdClass Object
(
[term_id] => 48
[name] => Cereal
[slug] => cereal
[term_group] => 0
[term_taxonomy_id] => 49
[taxonomy] => product_cat
[description] =>
[parent] => 46
[count] => 0
)
stdClass Object
(
[term_id] => 46
[name] => Grocery Store A
[slug] => grocery-store-a
[term_group] => 0
[term_taxonomy_id] => 47
[taxonomy] => product_cat
[description] => FDIC, 17th Street Northwest, Washington, DC
[parent] => 45
[count] => 0
)
【问题讨论】:
-
如果您删除
return关键字,该函数将不会返回任何内容。您能否更清楚地了解您是否需要所有子类别 ID?因为你的while循环只会运行一次。当它到达return时,您的整个功能将停止(返回) -
我认为我的函数编码错误。请查看我得到的对象,我已经更新了我的问题。
标签: php recursion woocommerce