修改WooCommerce延期交货消息

时间:2017-02-20 13:33:30

标签: php wordpress woocommerce

所以这里...... 我有一个wordpress网站,并使用woocommerce等。我想将产品页面上的延期交货信息更改为“请允许2至4周交付此项目”,我遇到了问题。

我还希望在购物车页面中显示相同或类似的消息,其中延期消息通常显示在项目名称下。

或者,但不是我的偏好,只需完全隐藏购物车页面中的延期交货信息,但仍然在产品页面上显示。

我通过插件输入php代码,而不是使用子主题或与其他东西混淆。我通常管理好,但完全被这个难倒。我昨天在这上面花了几个小时,设法让我的网站崩溃了!洛尔...

我认为这会给我的网站带来更专业的外观。

我网站上延期交货的产品之一链接如下,以便您可以准确查看我正在寻找的内容。

https://ascentsofscotland.co.uk/product/cormag-celtic-bangle/

我非常感谢任何帮助,因为我开始对理论上应该简单的事情感到沮丧......(我认为它实际上应该是woocommerce中可定制的部分!)

先感谢所有天才人士!

斯图

2 个答案:

答案 0 :(得分:8)

我认为您需要过滤woocommerce_get_availability_text。将其添加到主题的functions.php或特定于网站的“代码段”插件中。

function so_42345940_backorder_message( $text, $product ){
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
        $text = __( 'Please allow 2 – 4 weeks for delivery of this item', 'your-textdomain' );
    }
    return $text;
}
add_filter( 'woocommerce_get_availability_text', 'so_42345940_backorder_message', 10, 2 );

答案 1 :(得分:1)

这是一个可以在产品页面和购物车中使用的一体机(我使用免费的#34;代码片段"插件来处理这个而不是弄乱functions.php文件):

function alt_message() {
  return "This item may take 3-4 weeks to deliver";
}

function backorder_text($availability) {
$altmessage = alt_message();
foreach($availability as $i) {
$availability = str_replace('Available on backorder', $altmessage, $availability);
}
return $availability;
} 
add_filter('woocommerce_get_availability', 'backorder_text');


function woocommerce_custom_cart_item_name( $_product_title, $cart_item, $cart_item_key ) {
$altmessage = alt_message();
  if ( $cart_item['data']->backorders_require_notification() && $cart_item['data']->is_on_backorder( $cart_item['quantity'] ) ) {
$_product_title .=  __( ' - '. $altmessage, 'woocommerce' ) ;
}
return $_product_title;
}
add_filter( 'woocommerce_cart_item_name', 'woocommerce_custom_cart_item_name', 10, 3);

还在子主题的style.css文件中添加以下CSS代码

.backorder_notification{
display: none;
}
.backorder_notification.custom{
display: block;
}

PS:如果你不添加CSS代码,那么它将无效。

信用到:http://www.northmore.net/change-backorder-text-woocommerce/