所以这里...... 我有一个wordpress网站,并使用woocommerce等。我想将产品页面上的延期交货信息更改为“请允许2至4周交付此项目”,我遇到了问题。
我还希望在购物车页面中显示相同或类似的消息,其中延期消息通常显示在项目名称下。
或者,但不是我的偏好,只需完全隐藏购物车页面中的延期交货信息,但仍然在产品页面上显示。
我通过插件输入php代码,而不是使用子主题或与其他东西混淆。我通常管理好,但完全被这个难倒。我昨天在这上面花了几个小时,设法让我的网站崩溃了!洛尔...
我认为这会给我的网站带来更专业的外观。
我网站上延期交货的产品之一链接如下,以便您可以准确查看我正在寻找的内容。
https://ascentsofscotland.co.uk/product/cormag-celtic-bangle/
我非常感谢任何帮助,因为我开始对理论上应该简单的事情感到沮丧......(我认为它实际上应该是woocommerce中可定制的部分!)
先感谢所有天才人士!
斯图
答案 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/