如何将此函数从两个回车更改为一个字符串,以在WooCommerce购物车中显示sku和尺寸?

时间:2019-11-08 作者:Marvin Klempert

我们正在与WooCommerce开发B2B商店。

我想在购物车的产品标题下显示SKU和产品尺寸。

这就是我现在所拥有的:

add_filter( \'woocommerce_cart_item_name\', \'add_sku_in_cart\', 20, 3);
function add_sku_in_cart( $title, $values, $cart_item_key ) {
$sku = $values[\'data\']->get_sku();
$dimensions = $values[\'data\']->get_dimensions();
return $sku ? $title . sprintf(" <br><span class=\'articlenumber\'>Artikelnummer: %s</span>", $sku) : $title;
return $dimensions ? $title . sprintf(" <br><span class=\'measurements\'>Maße: %s</span>", $dimensions) : $title;
}
有人已经告诉我,2次退货不起作用,我需要一个字符串。但由于我对PHP非常陌生,我不知道如何做。谁能帮我一下吗?

提前谢谢你,祝你今天愉快。

1 个回复
最合适的回答,由SO网友:kero 整理而成

每个function 在PHP中可以有0或1return 陈述重要的是要知道return 也将结束函数的执行。你可以在the official PHP docs. 对于另一部分,您需要从多个字符串中生成一个字符串,这称为串联,并已在代码中使用,read more about it here.

应用这些原则(并使用适当的if 您的代码将变成:

add_filter( \'woocommerce_cart_item_name\', \'add_sku_in_cart\', 20, 3);
function add_sku_in_cart( $title, $values, $cart_item_key ) {
    $sku = $values[\'data\']->get_sku();
    $dimensions = $values[\'data\']->get_dimensions();
    if ($sku) {
        $title = $title . sprintf(" <br><span class=\'articlenumber\'>Artikelnummer: %s</span>", $sku);
    }
    if ($dimensions) {
        $title = $title . sprintf(" <br><span class=\'measurements\'>Maße: %s</span>", $dimensions);
    }
    return $title;
}