提问人:Mohammad Suhail 提问时间:8/18/2023 最后编辑:LoicTheAztecMohammad Suhail 更新时间:8/19/2023 访问量:104
如何在woocommerce中限制相关产品的标题长度
How to limit the length of title for related products in woocommerce
问:
我正在使用以下代码自动缩短静态主页主商店、类别和标签页面上的 WooCommerce 产品标题。我也想为相关产品这样做。我应该在这里为相关产品添加什么条件标签
此代码自动将静态主页主商店、类别和标签页面上的 WooCommerce 产品标题缩短为一定数量的字符
function short_woocommerce_product_titles_chars( $title, $id ) {
if ( ( is_front_page() || is_shop() || is_product_tag() || is_product_category() ) && get_post_type( $id ) === 'product' ) {
// Kicks in if the product title is longer than 60 characters
if ( strlen( $title ) > 60) {
// Shortens it to 60 characters and adds ellipsis at the end
return substr( $title, 0, 60 ) . '...';
}
}
return $title;
}
add_filter( 'the_title', 'short_woocommerce_product_titles_chars', 10, 2 );
答:
3赞
LoicTheAztec
8/19/2023
#1
下面也会将您当前的代码扩展到相关产品:
function shorten_woocommerce_loop_product_titles( $title, $id ) {
global $woocommerce_loop;
if ( ( is_front_page() || is_shop() || is_product_tag() || is_product_category() || ( isset($woocommerce_loop['name'])
&& $woocommerce_loop['name'] === 'related' ) ) && get_post_type( $id ) === 'product' ) {
$length_threshold = 60; // Here define the desired number of characters max to be displayed
// If the product title is longer than xx characters
if ( strlen( $title ) > $length_threshold ) {
// Shortens it to xx characters and adds ellipsis at the end
return substr( $title, 0, $length_threshold ) . '...';
}
}
return $title;
}
add_filter( 'the_title', 'shorten_woocommerce_loop_product_titles', 10, 2 );
代码进入子主题的 functions.php 文件(或插件)。经过测试并有效。
评论
0赞
Mohammad Suhail
8/19/2023
我可以根据第一行之后的行设置标题长度吗?
1赞
LoicTheAztec
8/19/2023
@MohammadSuhail 请好好想想......我怎么能猜出你的商店中产品标题的长度,因为它取决于CSS设置(font-width,font-familly...),按行显示的产品数量(显示标题的块的宽度)等等......您需要设置最佳字符数,进行多次尝试并查看结果。此外,这可能因浏览器而异(也因平台而异)。这就是我们现在使用响应式设计的原因。
评论