php-在Woocommerce中减少产品的详细描述

我发现以下代码from this answer thread,但它仅在产品标题下适用.那么如何适用于该产品的详细说明.

add_action( 'woocommerce_after_shop_loop_item_title', 'shorten_product_excerpt', 35 );
function shorten_product_excerpt()
{
    global $post;
    $limit = 14;
    $text = $post->post_excerpt;
    if (str_word_count($text, 0) > $limit) {
        $arr = str_word_count($text, 2);
        $pos = array_keys($arr);
        $text = substr($text, 0, $pos[$limit]) . '...';
        // $text = force_balance_tags($text); // may be you dont need this…
    }
    echo '<span class="excerpt"><p>' . $text . '</p></span>';
}

解决方法:

在Woocommerce产品单页中,详细描述显示在“描述”选项卡中.如果您查看single-product / tabs / description.php模板的源代码,它将使用the_content()wordpress函数显示该详细说明.

因此,您可以使用the_content专用的Wordpress过滤器挂钩来减少产品的详细说明:

add_filter( 'the_content', 'shorten_product_long_descrition', 20 );
function shorten_product_long_descrition( $content ){
    // Only for single product pages
    if( ! is_product() ) return $content;

    // Set the limit of words
    $limit = 14;

    if (str_word_count($content, 0) > $limit) {
        $arr = str_word_count($content, 2);
        $pos = array_keys($arr);
        $text = '<p>' . substr($content, 0, $pos[$limit]) . '...</p>';
        $content = force_balance_tags($text); // needded
    }
    return $content;
}

代码进入您的活动子主题(或活动主题)的function.php文件中.经过测试和工作.

之前:

php-在Woocommerce中减少产品的详细描述

后:

php-在Woocommerce中减少产品的详细描述

相似:Limit product short description length in Woocommerce

上一篇:php-在WooCommerce中设置优惠券描述


下一篇:php-WooCommerce-感谢和“我的帐户”查看订单页面上的自定义通知