私は、サブスクリプション ベースの製品がある e コマース サイト (shopp) に取り組んでいます。製品購入時のユーザー名とメールアドレスの入力があります。
顧客は、この製品を購入したユーザーを WordPress にサブスクライバーとして登録してほしいと考えています。だから私がやろうとしているのは、そこから電子メールの値を取得し、その電子メールをユーザー名と電子メールとして使用して WordPress に登録することです。登録部分を機能させることができましたが、両方のフォームを適切に送信する方法がわかりません。現在、カートに追加する製品フォームを無視して、登録フォームを送信するだけです。
カートフォーム:
<form action="<?php shopp('cart','url'); ?>" method="post" class="shopp product validate validation-alerts">
<!-- extra code -->
<?php
if ( shopp( 'product', 'in-category', 'id=32' ) ) : // courses ?>
<div id="guests" class="guests">
<div>Enter the names and emails of the people subscribing</div>
<div class="guest-list">
<p class="guest">
<label>First Name </label><?php shopp('product','input',"name=First Name 1"); ?><br />
<label>Last Name </label><?php shopp('product','input',"name=Last Name 1"); ?><br />
<label>Email </label><?php shopp('product','input',"name=Email 1"); ?>
</p>
</div>
<?php shopp('product', 'addtocart'); ?>
</div>
<?php
else :
shopp('product', 'addtocart');
endif;
?>
<?php wp_nonce_field('check-user', '_check-user-nonce', true, true); ?>
</form>
登録フォーム:
<form id="register-form" action="<?php echo site_url('wp-login.php?action=register', 'login_post') ?>" method="post">
<input type="hidden" name="user_login" value="Username" id="user_login" class="input" />
<input type="hidden" name="user_email" value="E-Mail" id="user_email" class="input" />
<?php do_action('register_form'); ?>
<input type="hidden" value="Register" id="register" />
</form>
jquery:
(function ($) {
$('#guests').on('click', '.addtocart', function() {
var id = $('.product-qty-wrapper').attr('id'),
userEmail = $('#data-email-1-'+ id).val();
// take users email and use for register form
$('#register-form input[name="user_login"]').val(userEmail);
$('#register-form input[name="user_email"]').val(userEmail);
$('#register-form').submit();
});
}(jQuery));
アップデート
AJAXで複数のフォームを送信するのに役立つこの投稿を見つけました
$('form').each(function() {
var $this = $(this);
$.post($this.attr('action'), $this.serialize());
});