woocommerce添加过滤器将paypal信用卡表格设置为默认付款方式

时间:2015-01-31 23:46:01

标签: wordpress paypal woocommerce checkout

我一直试图在我的woocommerce代码中添加过滤器,以防止表单将客户电子邮件地址发送到paypal。 (我使用paypal标准)。据推测,这将导致信用卡表格成为默认显示,而不是登录到paypal'选项。

我在这里找到了这段代码: 应该执行此操作的Paypal Payment Standard default enter card details,但我不确定将代码放在何处。这是我的/templates/checkout/form-checkout.php无法正常工作:



<form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url( $get_checkout_url ); ?>" enctype="multipart/form-data">

	<?php if ( sizeof( $checkout->checkout_fields ) > 0 ) : ?>

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

		<div class="col2-set" id="customer_details">
			<div class="col-1">
				<?php do_action( 'woocommerce_checkout_billing' ); ?>
			</div>

			<div class="col-2">
				<?php do_action( 'woocommerce_checkout_shipping' ); ?>
			</div>
		</div>

                <?php function smw_woo_paypal_args($args) {
                    $args['email'] = '';
                    return $args;
                } 
                add_filter( 'woocommerce_paypal_args', 'smw_woo_paypal_args', 99);
                ?>
		<?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>

		<h3 id="order_review_heading"><?php _e( 'Your order', 'woocommerce' ); ?></h3>

	<?php endif; ?>

	<div id="order_review" class="woocommerce-checkout-review-order">
		<?php do_action( 'woocommerce_checkout_order_review' ); ?>
	</div>

</form>
&#13;
&#13;
&#13;

有关放置此过滤器的位置的任何想法?

1 个答案:

答案 0 :(得分:0)

将过滤器放在主题的functions.php文件中。这将使其正常运行,并且应该按预期将电子邮件留空。

那就是说,我认为这不会解决你的问题。付款标准结帐页面通常是基于cookie的,如果有任何用户登录了正在使用的浏览器上的帐户,它将假定任何PayPal结账将使用该帐户并默认使用该方式。

如果您要清除浏览器缓存/ cookie,或者只是使用全新的干净浏览器,您可能会看到访客结帐选项更加突出。

但是,如果您要使用Express Checkout API,则可以更轻松地强制执行此操作。您正在使用WooCommerce,因此结帐PayPal for WooCommerce,其中包括Express Checkout,它是免费的。有些设置专门用于启用插件中内置的完整访客结帐/信用卡选项。