检查产品是否设置了特定属性,如果为 true,则显示其他 div

发布于 2025-01-12 18:40:24 字数 918 浏览 1 评论 0原文

我正在尝试创建一个函数,以根据是否在特定产品上设置某些属性来满足要求,以显示附加产品信息。为此,我使用两个名为“pa_storlek”和“pa_djurart”的属性。在我看来,一切都应该正常,但无论我做什么,我都会不断获得else值(Inte X-Small)。

我需要一起检查这两个属性,这意味着如果我同时获得两个属性值,则该语句应该有效,并且 - 如果不是,它应该显示 else 输出。

有人有主意吗?环顾四周,但似乎找不到像我这样的另一个问题。

// X-Small dogs list
add_action( 'woocommerce_single_product_summary', 'x_small_dogs', 90 );
function x_small_dogs() {
    global $product;

    $product_attributes = $product->get_attributes();

    // Get the product attribute value
    $size = $product->get_attribute('pa_storlek');
    $animal = $product->get_attribute('pa_djurart');

    // If product has attribute 'size = x-small' and 'animal = hund'
    if( strpos($size, 'x-small') && strpos($animal, 'hund') ) {
        echo '<div class="">X-Small</div>';
    } else {
        echo '<div class="">Inte X-small</div>';
    }
}

I am trying to create a function to show additional product information if requirements are met dependent on whether some attributes are set or not on specific products. For this I am using two attributes called 'pa_storlek' and 'pa_djurart'. Seems to me everything should be working but no matter what I do I just keep getting the else value (Inte X-Small).

I need to check the two attributes together, meaning that if I get both attributes values at the same time the statement should be valid, and - if not, it should show the else output.

Anyone has an idea? Been looking around alot but can't seem to find another question like mine..

// X-Small dogs list
add_action( 'woocommerce_single_product_summary', 'x_small_dogs', 90 );
function x_small_dogs() {
    global $product;

    $product_attributes = $product->get_attributes();

    // Get the product attribute value
    $size = $product->get_attribute('pa_storlek');
    $animal = $product->get_attribute('pa_djurart');

    // If product has attribute 'size = x-small' and 'animal = hund'
    if( strpos($size, 'x-small') && strpos($animal, 'hund') ) {
        echo '<div class="">X-Small</div>';
    } else {
        echo '<div class="">Inte X-small</div>';
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无畏 2025-01-19 18:40:24

如果 strpos 找到从第一个字符开始的字符串,则返回 0(索引位置),并且计算结果为 false。

所以尝试一下

if( strpos($size, 'x-small')!==false && strpos($animal, 'hund')!==false) {

If strpos find the string starting at the first character, return 0 (index position) and it is evaluated like false.

So try

if( strpos($size, 'x-small')!==false && strpos($animal, 'hund')!==false) {
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文