所以开始吧..。我有一个wordpress网站,并使用woocommerce等。我想改变产品页面上的积压信息类似于“请允许2-4周交付此项目”,这是我有问题。
我也希望相同或类似的消息显示在购物车页面,在那里的缺货消息通常显示在项目名称下。
或者,但不是我的偏好,只是从购物车页面完全隐藏欠订单消息,但仍然在产品页面上。
我是通过插件输入php代码,而不是使用子主题或其他东西。我通常管理得还可以,但在这一点上完全被难住了。我昨天花了几个小时在这上面,设法让我的网站崩溃了!lol…
我认为这会给我的网站一个更专业的外观。
下面是我网站上积压的产品的链接,这样你就可以确切地看到我正在寻找的东西。
https://ascentsofscotland.co.uk/product/cormag-celtic-bangle/
任何帮助都非常感谢,因为我开始对一些理论上应该很简单的事情感到沮丧……(我认为这实际上应该是woocommerce中一个可定制的部分!)
提前感谢在座的各位天才!
Stu
发布于 2017-02-21 00:50:09
我认为你需要过滤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 );
发布于 2017-08-11 15:30:15
这是一个在产品页面和购物车中都有效的一体化工具(我使用免费的“代码片段”插件来处理这个问题,而不是摆弄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/
https://stackoverflow.com/questions/42345940
复制相似问题