このバージョンは、Ver.1.28に対しての不具合修正と小さな機能追加です。

追加機能は3つあり、詳細は以下の通りです。

予約フォームページの上下にメッセージを挿入するフィルター

予約の入力フォームは、スラッグ名に「booking-form」と名付けられた固定ページを表示するとき入出力処理が実行されます。プログラムから出力されるフォームデータは、予約処理の流れに応じて次の3つの段階に分かれます。

・入力フォームの表示
・入力確認画面の表示
・送信後の表示

段階に応じて表示出力する内容は変わりますが、当該固定ページのコンテンツに入力した内容の後ろに出力されます(送信後はコンテンツを出力しません)。

メッセージフィルターは、段階に応じて適切な内容を表示したい場合に、異なる内容を出力できるように用意しました。

入力フォームの表示前後のメッセージフィルター

  • booking_form_before
    入力フォーム出力の前に、フィルター関数から渡された文字列を出力します。
  • booking_form_after
    入力フォーム出力の後に、フィルター関数から渡された文字列を出力します。

この機能は以前からありましたが、説明を掲載しておりませんでしたので改めてご紹介します。

メッセージフィルター関数から渡される引数は2つあり、2番目は連想配列で予約品目のIDがインデックス「aid」にセットされています。

サンプルプログラム

add_filters('booking_form_before', 'form_before', 10, 2);
function form_before($str, $param) {
    return '予約フォームページ 前文';
}

add_filters('booking_form_after', 'form_after', 10, 2);
function form_after($str, $param) {
    return '予約フォームページ 後文';
}

入力確認画面の前後のメッセージフィルター

  • booking_form_confirm_before
    入力確認画面出力の前に、フィルター関数から渡された文字列を出力します。
  • booking_form_confirm_after
    入力確認画面出力の後に、フィルター関数から渡された文字列を出力します。

引数、利用方法は前述のフィルターと同様です。

サンプルプログラム

add_filter('booking_form_confirm_before', 'confirm_before', 10, 2);
function confirm_before($str, $param) {
    return sprintf('<strong style="color: red;">確認画面 前文(%d)</strong>', $param['aid']);
}

add_filter('booking_form_confirm_after', 'confirm_after', 10, 2);
function confirm_after($str, $param) {
    return sprintf('<strong style="color: red;">(%d)確認画面 後文</strong>', $param['aid']);
}

フロントエンドの予約確認画面におけるキャンセルボタン表示内容

予約のキャンセルボタンは、各種設定や予約品目に設定されたキャンセルの条件により、フロントエンドで表示する予約検索ページの上部に表示されます。

» Ver.1.8 予約のキャンセル

新しく追加されたメッセージフィルターは、キャンセルボタンに表示する「キャンセル」文字列を書き換えます。

サンプルプログラム

add_filter('subscription_cancel_button_top', 'cancel_button_top');
function cancel_button_top($str) {
    return 'キャンセル実行用メール送信';
}

PayPalボタンの画像入れ替え

PayPalから提供されるボタン画像を変更できるように、各種設定の「料金関係設定」に画像ファイルのURL設定項目を追加しました。

PayPalからお知らせのあった「ロゴ・ボタンのダウンロード」ページリンクは、次の通りです(2018年3月現在)。

» PayPal ロゴ・ボタンのダウンロード

「HTMLコードを取得する」をクリックするとHTMLソースが表示されます。このソースのimgタグで指定されたsrc属性の値(画像のURL)を各種設定の料金関係設定、「PayPalボタンの画像」項目に設定してください。