这是我用来在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
答案 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 ...