如何每隔20秒刷新一次woocomerce结账页面?

时间:2015-06-09 09:34:21

标签: php jquery wordpress woocommerce

我的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' );
}

感谢您的所有时间:)

2 个答案:

答案 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 }
}