php woocommerce if如果声明属性不起作用

时间:2018-05-31 14:09:06

标签: php wordpress woocommerce

我在我的woocommerce商店页面上使用以下代码。

function uit_productie_badge() {
   global $product;
    $beschikbaarheid = $product->get_attribute('pa_beschikbaarheid');
    echo '<span class="sold-out">' . $beschikbaarheid . '</span>';
    if ($beschikbaarheid = "dsgdfsg"){
        echo "Hello World!";
    }
}
add_action( 'woocommerce_before_shop_loop_item_title', 'uit_productie_badge');

带徽章的span显示属性值,但if语句不起作用。 dsgdfsg只是随机文字,不应该在那里,但每个产品都显示Hello World!。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

你遇到的问题是这一行;

if ($beschikbaarheid = "dsgdfsg"){

使用单个equals是变量赋值,用于检查它是否匹配,如果你使用2它将起作用,所以这将解决;

if ($beschikbaarheid == "dsgdfsg"){

例如,如果您有以下功能;

function AssignTo()
{
    if (isset($_SESSION['variable']) && $_SESSION['variable'] == true)
    {
        return true;
    }
    else
    {
        return false;
    }
}

您可以执行以下操作;

if ($a = AssignTo())
{
    // The function returned true, so the check is true and $a is set to true
}
else
{
    // The function returned false, so the check fails and $a is set to false
}