我有一个PHP代码片段,它根据产品页面的特定类别ID在产品页面上显示一个div。
如何根据类别是否是特定父级的祖先来调整此代码以显示div?
如果可能的话,我想采取一种更全面的方法,而不是单独列出特定的ID-以下是我迄今为止使用的方法(提前感谢您的帮助):
function options_available() {
global $product;
global $post;
$terms = get_the_terms( $post->ID, \'product_cat\' );
foreach ($terms as $term) {
$product_cat_id = $term->term_id;
break;
}
if ($product_cat_id == "54" || $product_cat_id == "84" || $product_cat_id == "2022" || $product_cat_id == "56" || $product_cat_id == "972" || $product_cat_id == "55" || $product_cat_id == "62" || $product_cat_id == "63" || $product_cat_id == "2024" || $product_cat_id == "2023" || $product_cat_id == "61" || $product_cat_id == "2210" || $product_cat_id == "2253" ) {
echo \'<div class="fkrow"> </div>\';
}
SO网友:David Cooper
因此,我现在可以有效地设置父类别ID,并让父类别ID中的子类别中存在的所有产品响应我所需的内容-这里绝对可以接受任何建议或改进!
我在一个函数中使用它,该函数将“tt”div放在我的目标产品页面的指定位置(取决于优先级)。
foreach循环提取类别ID,然后根据if语句中规定的父ID检查结果$项(本例中为60)。
function test($term) {
global $product;
global $post;
$terms = get_the_terms( $post->ID, \'product_cat\' );
foreach ($terms as $term) {
$product_cat_id = $term->term_id;
if ( $term->parent == 60 )
{
echo \'<div class="tt">test</div>\';}
}
}