我在我的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!
。我该如何解决这个问题?
答案 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
}