在Woocommerce结帐页面中移动付款方式

时间:2017-03-26 13:35:31

标签: php wordpress paypal woocommerce checkout

我必须在订单审核之上的Woocommerce网站的结帐页面中移动付款方式,但我不知道如何操作。问题是,我尝试使用以下代码:

@Override
public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();

    if (bundle!=null){
        Object[] smsExtras = (Object[]) bundle.get("pdus");
        String format = (String)bundle.get("format");
        String strMessage = "";

        for (Object smsExtra : smsExtras) {
            SmsMessage smsMessage;
            if (Build.VERSION.SDK_INT < 23){
                smsMessage = SmsMessage.createFromPdu((byte[]) smsExtra);
            }else {
                smsMessage = SmsMessage.createFromPdu((byte[]) smsExtra, format);
            }

            String messageBody = smsMessage.getMessageBody();
            String messageSource = smsMessage.getOriginatingAddress();

            strMessage += "SMS from " + messageSource + " : " + messageBody;
            Log.i(AppConstants.DEBUG_TAG, strMessage);
        }

    }
}

但是&#34;条款和条件&#34;文字和&#34;下订单&#34;按钮正在移动。我需要有付款选项,然后是订单审核,最后是&#34;条款和条件&#34;文字和&#34;下订单&#34;按钮。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

原始的WC挂钩

// includes/wc-template-hooks.php:214
add_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );

您的钩子

这将在您的主题或插件中。

// make sure the priority value is correct, running after the default priority.
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
add_action( 'woocommerce_after_order_notes', 'woocommerce_checkout_payment', 20 );

您的钩子应该在WC加载后运行;以便将其删除。

function theme_wc_setup() {
  remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
  add_action( 'woocommerce_after_order_notes', 'woocommerce_checkout_payment', 20 );
}
add_action( 'after_setup_theme', 'theme_wc_setup' );

答案 1 :(得分:0)

模板覆盖是必要的(不可能仅编辑functions.php)。

实现目标的一种可能方式是:

  1. 将payment.php从woocommerce插件文件夹复制到your_child _theme / woocommerce / checkout /文件夹。
  2. 打开新创建的payment.php文件,并在行<div class="form-row place-order">之前添加自定义挂钩。例如:

    <?php do_action( 'woocommerce_review_order_and_proceed' ); ?>

  3. 在您的子主题的functions.php中,添加以下代码以从其原始位置取消挂钩woocommerce_order_review动作,并将其挂钩到新创建的钩子:

    remove_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );

    add_action( 'woocommerce_review_order_and_proceed', 'woocommerce_order_review', 20 );