如何在WooCommerce的结账页面上重新定位PayPal按钮网关

时间:2020-10-29 作者:Yotam Dahan

是否可以将paypal结账按钮移动到屏幕上的其他位置?

enter image description here

现在,paypal按钮位于常规网关表单上,我想将其移动到woocommerce_checkout_before_customer_details 行动

起初我使用下面的过滤器,但它只指下单按钮,而不是贝宝按钮。

<?php
    echo apply_filters( \'woocommerce_order_button_html\', \'<button type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" >test</button>\' ); // @codingStandardsIgnoreLine 
?>
如何在woocommerce中重新定位付款页面上的paypal按钮网关?

1 个回复
最合适的回答,由SO网友:Walter P. 整理而成

你试过这个吗?

E、 g.贝宝按钮功能名称为woo_custom_paypal_button.

然后将这样的操作添加到function.php 或特定插件:

add_action( \'woocommerce_checkout_before_customer_details\', \'woo_custom_paypal_button\' );
或者,如果那里已经显示了一些内容,并且您可能希望将其删除,请先找到函数名,然后按如下方式尝试:

remove_action( \'woocommerce_checkout_before_customer_details\', \'woo_function_to_remove\' );
add_action( \'woocommerce_checkout_before_customer_details\', \'woo_custom_paypal_button\');

Update

我尝试了此代码并在我的案例中工作:

add_action( \'wp_loaded\', \'x_relocate_paypal_button\' );
function x_relocate_paypal_button() {
    $cls = new WC_Gateway_PPEC_With_SPB;
    add_action( \'woocommerce_checkout_before_customer_details\', array( $cls, \'display_paypal_button\' ), 20 );
}
只需更换woocommerce_checkout_before_customer_details 钩住以重新定位到另一个位置。您可以在上的“签出”页面上找到更多视觉挂钩指南this article.