从$_PRODUCT->GET_TITLE()中去掉字符串以获得更干净的迷你购物车

时间:2015-09-28 作者:Xavier C.

我使用的是定制的mini-cart.php 文件,其中有以下代码行:

$product_name = apply_filters( \'woocommerce_cart_item_name\', $_product->get_title(), 
    $cart_item, $cart_item_key );
我卖两种产品,“短裤”和“长裤”。我不想在我的购物车小部件中看到这两个词,因为标题太长,没有用,所以我想要$product_name 把这些单词从结果中去掉。

要继续,实际上我有:

 - Short grey front pouch military
 - Short blue fisherman
 - Longshorts denim gray
 - Longshorts denim black
我更愿意:

 - grey front pouch military
 - blue fisherman
 - denim gray
 - denim black

2 个回复
SO网友:Caspar

您需要在主题中添加一个函数functions.php 该文件将从php字符串中查找并删除这两个单词“short”和“longshorts”。然后可以将该函数作为过滤器添加到woocommerce_cart_item_name 正在应用于mini-cart.php 尝试以下操作:

function wpse_remove_shorts_from_cart_title( $product_name ) {
    $product_name = str_ireplace( \'longshorts\', \'\', $product_name ); // remove "longshorts";
    $product_name = str_ireplace( \'shorts\', \'\', $product_name ); // remove "shorts"

    return $product_name;
}
add_filter( \'woocommerce_cart_item_name\', \'wpse_remove_shorts_from_cart_title\' );
注意,我用过str_ireplace() 覆盖事件,无论它们是否大写(这在标题中很常见)。

SO网友:Xavier C.

我最后做的是从mini cart上取下这条线。php

<?php echo str_ireplace( array( \'http:\', \'https:\' ), \'\', $thumbnail ) . $product_name . \'&nbsp;\'; ?>
并将其更改为

<?php echo str_ireplace( array( \'longshorts\', \'short\' ), \'\', $product_name ) . \'&nbsp;\'; ?>
我已经禁用了缩略图。而且很有效!

相关推荐