メールフォーム送信後に 予約数を保存

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

*2024.3追記:MW Form は開発終了となっています。

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

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

  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);
  }
}

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

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

Advanced Custom Fields に関する記事一覧ページへ