我的woocommerce
网站存在问题。
问题是当我点击下订单按钮时,我需要每隔20
秒刷新结帐页面。
主要原因是我有一个插件,可以实时通知用户订单。此外,它会自动处理从“保留”到“已完成”的订单。
但由于某些原因,在iPad
- iPhones
中,它并不令人耳目一新,有没有可能的解决方案来自动刷新结帐页面?
这是我用来自动更新结帐状态的代码:
/* Reset status of new orders from "on-hold" to "complete" */
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
global $woocommerce;
if ( !$order_id )
return;
$order = new WC_Order( $order_id );
$order->update_status( 'completed' );
}
感谢您的所有时间:)
答案 0 :(得分:0)
您将以下代码放入function.php
function reload_page( $atts ){
if(is_checkout()) { ?>
<script type="text/javascript">
window.setTimeout(function(){ document.location.reload(true); }, 20000);
</script>
<?php }
}
add_shortcode( 'reloadpage', 'reload_page' );
并将此短代码 [reloadpage] 放入结帐页面。这将在每20秒后重新加载页面。
希望这对你有用
答案 1 :(得分:0)
我设法让它在Corlax的帮助下工作。所以只是出于教育目的......如果我想在20秒内只循环一次,我还需要在javascript中编辑什么?
以下是代码:
/* Reset status of new orders from "on-hold" to "complete" */
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
global $woocommerce;
if ( !$order_id )
return;
$order = new WC_Order( $order_id );
$order->update_status( 'completed' );
{ ?>
<script type="text/javascript">
window.setTimeout(function(){ document.location.reload(true); }, 20000);
</script>
<?php }
}