我尝试根据购物车中产品的库存状态输出购物车中的预计交货日期。
我曾经有点成功,但现在我被卡住了。
这是我目前所写的内容,它放在function.php文件中
function lieferzeit() {
global $woocommerce;
$cart_items = $woocommerce->cart->get_cart();
foreach ($cart_items as $variation) {
$variation_id = $variation['variation_id'];
$variation_obj = new WC_Product_variation($variation_id);
$stock = $variation_obj->get_stock_quantity();
}
echo $stock; //outputs the in stock amount successfully
}
add_filter ( 'woocommerce_cart_collaterals', 'lieferzeit');
现在,我尝试添加预计日期,但在此处卡住
function lieferzeit() {
global $woocommerce;
$cart_items = $woocommerce->cart->get_cart();
foreach ($cart_items as $variation) {
$variation_id = $variation['variation_id'];
$variation_obj = new WC_Product_variation($variation_id);
$stock = $variation_obj->get_stock_quantity();
}
for ($i=0; $i < count($stock) ; $i++) {
echo "Voraussichtliche Lieferung Date! ";
}
}
add_filter ( 'woocommerce_cart_collaterals', 'lieferzeit');
这里必须定义日期输出。从今天+1天到今天+4天。但我不知道如何管理。最好的输出格式是:
预计发货时间:14.7星期五-19.7星期三
我甚至不确定
for ($i=0; $i < count($stock) ; $i++) {
才是正确的选择。
我确实有两种产品,一种是1-4天内发货,另一种是1 - 4 -21天内发货。现在是第二个问题。当两种类型都在购物车中时,应选择更高的发货时间。
有什么想法吗?
更新日期:
代码应该检查购物车中每件商品的库存量。如果所有商品的库存量都大于0,它应该返回一个1到4个工作日的估计发货时间。
如果购物车中有一件商品的库存量为0或更少,则应返回一个14 - 21个工作日的估计发货时间(以日期形式给出)。即使购物车中所有其他商品的库存量都大于0。
工作日应该是星期一到星期五。如果代码也能识别节假日,如圣诞节、新年等,那就非常整洁了。
谢谢
LoicTheAztec的解决方案非常好用。现在我尝试添加更多的选项。
如果function lieferzeit()
的输出能显示在管理订单详细信息页面上就更好了。
add_action( 'add_meta_boxes', 'add_meta_boxes' );
function add_meta_boxes()
{
add_meta_box(
'woocommerce-order-my-custom',
__( 'Order Custom' ),
'order_my_custom',
'shop_order',
'side',
'default'
);
}
function order_my_custom()
{
echo $lieferzeit;
}
from this post
到目前为止,这是有效的,在管理页面中有一个订单自定义标签。现在我试图将function lieferzeit()
的输出存储在一个变量中。
$from = str_replace($days_en, $days_ge, $from);
$to = str_replace($days_en, $days_ge, $to);
$lieferzeit = array($from, $to);
但是function add_meta_boxes()
和function order_my_custom()
似乎对变量$lieferzeit
一无所知。
是否有其他方法来存储和调用function lieferzeit()
的输出?
1条答案
按热度按时间x8diyxa71#
更新4*(2018年9月)*
下面的代码,将检查购物车中每件商品的库存数量。
1)如果所有购物车项目是“在库存”,它将回显一个估计的运输时间为1至4个工作日作为一个日期。
2)如果一个购物车项目是“缺货”,它将回显一个估计的发货时间为14至21个工作日作为一个日期。
"但我不承认节日"
代码如下:
此代码经过测试并正常工作