フォーラムへの返信
-
投稿者投稿
-
お返事いただきありがとうございます!
まず結果をお伝えしますと、
PHP Deprecated〜
のエラーは出力されなくなりました。【ソースコードの誤りについて】
先に提示したコードに誤りがあったことをお詫びします。
is_page()
による条件分岐内でエラーログ出力の処理が機能していないようでした。
このため、条件分岐の外に$reponser->get()
を記述し、この値に応じて処理を追加するように修正いたしました。add_filter( 'snow_monkey_forms/administrator_mailer/args', function ($headers, $responser, $setting) { $inquiry = $responser->get('inquiry'); $recipient = ""; //inquiryがnullでない場合のみで以下の処理を行う if (!is_null($inquiry)) { // switch文(inquiryの値に応じた送信先の設定 $headers['to'] = $recipient; // if文の中でログ出力A } // if文の中でログ出力B return $headers; }, 10, 3 );
【エラーログの出力箇所について】
エラーログはwp-content/debug.log
に出力されておりました。
ご提示いただいた以下のコードに書き換えたところ、wp-content/themes/snow-monkey/error_log
に出力されました。error_log('$inquiry: ' . print_r($inquiry, true), 3, get_template_directory() . '/error_log');
【カスタマイズについて】
・子テーマ=利用無し
・ My Snow Monkey によるテンプレートの上書き=snow_monkey_template_part_root_hierarchy_template-parts/
を利用しています。
・snow_monkey_get_template_part_render
=利用しています。エラーの再現がなくなったため、これらのカスタマイズとの関係はわかりませんでした。
以上です。
最初に出力されたエラーが再現しなくなった理由がハッキリとわかりませんが、ひとまず正常に動作しているという認識です。お手数おかけして、申し訳ありませんでした。
♥ 0いいねをした人: 居ませんお問い合わせフォームにラジオボタンを設置し、ラジオボタンの選択に応じて送信先を変更する意図で処理を実装しております。NAME属性の値は
inquiry
としています。
ラジオボタンのOPTIONS
はlabel
は記入せず、value
のみを改行で入力しております。add_filter( 'snow_monkey_forms/administrator_mailer/args', function ($headers, $responser, $setting) { //お問い合わせフォームページのみで以下の処理を行う if (is_page('contact')) { $inquiry = $responser->get('inquiry'); $recipient = ""; switch ($inquiry) { case "ボタン1": $recipient = "メールアドレス1"; break; case "ボタン2": $recipient = "メールアドレス2"; break; case "ボタン3": $recipient = "メールアドレス3"; break; case "ボタン4": $recipient = "メールアドレス4"; break; } // // 【開発用】$inquiry の値をデバッグログに出力 // if (defined('WP_DEBUG') && WP_DEBUG && defined('WP_DEBUG_LOG') && WP_DEBUG_LOG) { // error_log('$inquiry: ' . print_r($inquiry, true)); // } $headers['to'] = $recipient; } return $headers; }, 10, 3 );
ご確認よろしくお願いいたします。
♥ 0いいねをした人: 居ませんsnow_monkey_forms/administrator_mailer/args
フィルターフック内のエラー出力処理をコメントアウトし、my-snow-monkey.php
に以下の記述を追加してみたところ、ログは出力されましたが、PHP Deprecated〜
のエラーは表示されませんでした。// フィルターフックの外でエラーログを出力 if (defined('WP_DEBUG') && WP_DEBUG && defined('WP_DEBUG_LOG') && WP_DEBUG_LOG) { error_log("test"); }
Snow Monkey Formsの「別のフィルターフックを試した方が良いか」とも考えましたが、適当なフィルターフックがわからず……(汗)
上記の対応でよろしかったでしょうか。
ご確認お願いいたします。♥ 0いいねをした人: 居ませんご確認いただきありがとうございます!
より適切なcssもご案内いただき助かりました!♥ 0いいねをした人: 居ません -
投稿者投稿