我试图更改简短描述摘录长度。
我发现之前的帖子说我应该改变
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>
到
<?php $excerpt = apply_filters( 'woocommerce_short_description', $post->post_excerpt );
echo substr($length,0, 10);
?>
然而,当这样做时,我的摘录就会消失。
答案 0 :(得分:8)
我担心你正在编辑插件......如果是这样的话,你做错了..
创建一个函数,然后挂钩到那个过滤器......就像这样......
add_filter('woocommerce_short_description', 'reigel_woocommerce_short_description', 10, 1);
function reigel_woocommerce_short_description($post_excerpt){
if (!is_product()) {
$post_excerpt = substr($post_excerpt, 0, 10);
}
return $post_excerpt;
}
将其粘贴到主题的functions.php文件中。
答案 1 :(得分:2)
而不是直接在插件中编辑文件(这是一个非常糟糕的主意,因为一旦更新插件并且所有更改都将丢失!)
您可以将此代码用于限制字数 -
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 将范围重新组合成单个字符串。
使用此代码更改商店页面上的限制而不是产品详细页面。