在WooCommerce中,如何限制商店页面中的简短产品描述?我添加了这段代码:
add_action('woocommerce_after_shop_loop_item_title','woocommerce_template_single_excerpt', 5);
但不能将其限制为40个字符。
感谢!!!
答案 0 :(得分:3)
而不是直接在插件中编辑文件(这是一个非常糟糕的主意,因为一旦更新插件并且所有更改都将丢失!)
add_filter('woocommerce_short_description', 'limit_woocommerce_short_description', 10, 1);
function limit_woocommerce_short_description($post_excerpt){
if (!is_product()) {
$post_excerpt = substr($post_excerpt, 0, 20);
}
return $post_excerpt;
}
然后将其粘贴到主题的 functions.php 文件中。
并使用此行显示产品说明 -
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ); ?>
使用此代码更改商店页面上的限制而不是产品详细页面。
答案 1 :(得分:2)
我会用:
function et_excerpt_length($length) {
global $post;
if($post->post_type=="product") return 40;
return 20; /*Your default excerpt length*/
}
add_filter('excerpt_length', 'et_excerpt_length');
在function.php中添加
答案 2 :(得分:1)
您可以使用此代码限制单词 -
add_filter('woocommerce_short_description', 'limit_woocommerce_short_description', 10, 1);
function limit_woocommerce_short_description($post_excerpt){
if (!is_product()) {
$pieces = explode(" ", $post_excerpt);
$post_excerpt = implode(" ", array_splice($pieces, 0, 20));
}
return $post_excerpt;
}
explode 将原始字符串分解为单词数组,array_splice允许您获取这些单词的特定范围,然后 implode 将范围重新组合成单个字符串。
使用此代码更改商店页面上的限制而不是产品详细页面。