ワードプレス歴およそ15年のフロントエンドエンジニアです。
関数作成からサイト構築まで、何でもご相談ください。

MW Form 予約数を保存

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。
プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
2021.05.20公開


MW Form で予約フォームを設置しているサイトで予約が上限に達したときに自動で受付終了できないかと言う話。

フォームを設置したページに予約可能数と予約受付数のフィールドを作成、
フォームの予約数はナンバーフィールドを利用して、上限に予約可能数のフィールドの値を入れる、
送信完了時にそれぞれを更新、
予約可能数が0になったらフォームを非表示、*フィールドはACFを利用

function my_mwform_after_send( $Data ) {
  if ( $Data->get_form_key() === 'mw-wp-form-xx' ) {
	$id = $Data->get( 'id' ); 
	$seat = get_field('seats', $id);
	$select = (int) $_POST['select']; 
	$addition = $seat + $select; 
	update_field('seats', $addition, $id);
	$available = get_field('available', $id); 
	$minus = $available - $count; 
	update_field('available', $minus, $id);
  }
}
add_action( 'mwform_after_send_mw-wp-form-xx', 'my_mwform_after_send' );

追記:
申し込みページに遷移する場合は $id = $_GET[‘post_id’]; でIDを取得する。

その他のAdvanced Custom Fields に関する記事一覧


情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。
プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
2021.05.20公開