在WooCommerce存档页面的产品标题下添加缩写说明

问题描述 投票:3回答:1

enter image description here

在Woocommerce存档页面中,我需要在每个产品标题下显示产品描述中的几行,如图中所示。

我怎样才能做到这一点?

php wordpress woocommerce product hook-woocommerce
1个回答
3
投票

更新:此自定义功能将缩短产品说明(定义的单词数量),并将其作为商店显示在存档页面中每个产品的标题下:

add_action('woocommerce_after_shop_loop_item_title', 'description_in_shop_loop_item', 3 );
function description_in_shop_loop_item() {
    global $product;

    // HERE define the number of words
    $limit = 10;

    $description = $product->get_description(); // Product description
    // or
    // $description = $product->get_short_description(); // Product short description

    // Limit the words length
    if (str_word_count($description, 0) > $limit) {
        $words = str_word_count($description, 2);
        $pos = array_keys($words);
        $excerpt = substr($description, 0, $pos[$limit]) . '...';
    } else {
        $excerpt = $description;
    }

    echo '<p class="description">'.$excerpt.'</p>';
}

代码位于活动子主题(或活动主题)的function.php文件中。


或者你可以根据字符长度限制使用相同的东西:

add_action('woocommerce_after_shop_loop_item_title', 'description_in_shop_loop_item', 3 );
function description_in_shop_loop_item() {
    global $product;

    // HERE define the number of characters
    $limit = 75;

    $description = $product->get_description(); // Product description
    // or
    // $description = $product->get_short_description();  // Product short description

    // Limit the characters length
    if (strlen($description) > $limit) {
        $excerpt = substr($description, 0, $limit) . '...';
    } else {
        $excerpt = $description;
    }

    echo '<p class="description">'.$excerpt.'</p>';
}

代码位于活动子主题(或活动主题)的function.php文件中。

这两个功能都经过测试和运行。

© www.soinside.com 2019 - 2024. All rights reserved.