Woocommerce - 限制子类别列表中的描述

时间:2018-04-02 16:29:50

标签: php wordpress woocommerce

我有这个代码将我的类别描述放在缩略图块上,但我想将代码更改为仅显示总描述文本的大约80个字母,否则我的主页和子类别列表会生气,并且瓷砖将会真的很长但是,我还希望文本显示在类别页面上,其中的产品将显示在其中,并且我不需要任何有限的字符。

这是我的代码:

/* Enter your custom functions here */
add_action('woocommerce_after_subcategory_title', 'my_add_cat_description', 12);

function my_add_cat_description ($category) {
    $cat_id=$category->term_id;
    $prod_term=get_term($cat_id,'product_cat');
    $description=$prod_term->description;
    echo '<div class="shop_cat_desc">'.$description.'</div>';
}

以下是我的网站主页,您可以在其中看到说明:https://airsoftcentral.co.uk/

以下是我的网站描述有限: https://airsoftcentral.co.uk/product-category/clothing/

如果你能提出建议,请告诉我。

由于

詹姆斯

1 个答案:

答案 0 :(得分:0)

假设仅在您的主页上调用此函数,您应该能够添加一个条件,该条件在超过80个字符时输出值的子字符串。以下是添加了解决方案的代码版本:

/* Enter your custom functions here */
add_action( 'woocommerce_after_subcategory_title', 'my_add_cat_description', 12);
function my_add_cat_description ($category) {
$cat_id=$category->term_id;
$prod_term=get_term($cat_id,'product_cat');

if($description=substr($prod_term->description, 0, 80));
    echo '<div class="shop_cat_desc">'.$description.'</div>';
} else {
    echo '<div class="shop_cat_desc">'.$prod_term->description.'</div>';
}

条件将返回您的值如果描述为80+个字符,那么您只需回显它。如果描述小于80个字符,条件将返回false ,在这种情况下,您只需回显该值而不将其赋值给变量。

This SO Answer建议为其创建一个函数,并且在条件中使用strlen,而不是substr,这可能效率稍低,但它们的答案也适用于此处。