【问题标题】:How can i refresh woocomerce checkout page every 20 seconds?如何每 20 秒刷新一次 woocommerce 结帐页面?
【发布时间】:2015-06-09 09:34:20
【问题描述】:

我的 woocommerce 网站有问题。

问题是当我点击下订单按钮时,我需要每隔20 秒刷新一次结帐页面。

主要原因是我有一个插件可以实时通知用户订单。它还会自动处理从“onhold”到“completed”的订单。

但由于某种原因,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' );
}

感谢大家的宝贵时间:)

【问题讨论】:

  • 可能是 JavaScript...
  • 不能使用javascript重新加载?
  • 请问您有什么建议吗?

标签: php jquery wordpress woocommerce


【解决方案1】:

你好把下面的代码放到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 秒后重新加载页面。

希望这对你有用

【讨论】:

  • 嗨 Corlax,不幸的是,这对我不起作用,因为我需要在按下“下订单”按钮后更新页面,否则当用户尝试导入个人数据时,不能这样做这是因为刷新..但真的感谢您的时间:)
【解决方案2】:

我设法在 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 }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 2022-07-06
    相关资源
    最近更新 更多