在Woocommerce存档页面中显示可用的产品尺寸或尺寸计数

时间:2019-04-15 19:28:26

标签: php wordpress string woocommerce product

这是我用来在shoppage / categoriespage中显示可用尺寸的代码。我正在尝试做的是当有很多可用大小的示例时:(XXS,XS,S,M,L,XL,XXL,3XL,4XL),然后我想隐藏此字符串并显示其他文本,例如(9尺寸可用标签) 任何帮助将不胜感激。

add_action( 'woocommerce_shop_loop_item_title', 'mycode_add_size_above_product_title', 20 );
function mycode_add_size_above_product_title() {
global $product;
$size = $product->get_attribute( 'pa_size' );
if ( ! empty( $size ) ) {
    echo '<div style="font-size:10px">' . $size . '</div>';
}

我尝试了一下,但是显示了两次刺痛!

if (strlen($string) <=50) {
 echo $string;
} else {
echo substr($string, 0, 50) . '...';
}

之前: 李维斯 XXS,XS,S,M,L,XL,XXL,3XL,4XL $ 65.00

预期结果:(仅当有5种以上尺寸可用时) 李维斯 9种尺码可供选择 $ 65.00

2 个答案:

答案 0 :(得分:1)

将测试的长度放在div的回显之内。

if (!empty($size)) {
    echo '<div style="font-size:10px">';
    if (strlen($size ) <=50) {
        echo $size;
    } else {
        echo substr($size , 0, 50) . '...';
    }
    echo '</div>';
}

答案 1 :(得分:1)

已更新

以下内容会将尺寸显示限制为5,如果更多,它将显示可用尺寸的计数:

add_action( 'woocommerce_shop_loop_item_title', 'mycode_add_size_above_product_title', 20 );
function mycode_add_size_above_product_title() {
    global $product;

    if( $sizes = $product->get_attribute( 'pa_size' ) ) {
        $count = count( explode(', ', $sizes) ); // The size count

        if ( $count > 5 ) {
            echo '<div style="font-size:10px">' . $count . ' ' . __("sizes available!") . '</div>';
        } else {
            echo '<div style="font-size:10px">' . $sizes . '</div>';
        }
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

当然,您可以调整要显示的尺寸数量,用任意整数代替 5 ...