Wordpressのプラグイン実行時に不具合が起きた際見直すべきポイント


解決したい課題

wordpressのプラグイン:Contact form 7で送信完了したメールが受信できない。

課題の詳細

以前までは受信できていたメールが、受信できなくなった。
フォーム上は送信完了したという表示がされる。

ググって一番見かけたサーバ違いによる不具合でsmtpでの解決が多かったけど、サーバは同じのため、該当しない。
https://blitzgate.co.jp/blog/250/

結論

function.phpを見直す!
jsの動きを制御するプラグインが入ってしまっていた…。

詳細

実装初期、contact form 7のjsを使用したいページ(以下の例だと、/lp)以外で読み込まないように、
function.phpに以下を挿入していた。
この当時は通常に受信できていた。

しかし、パスをlpから変更したため、jsが読み込まれなくなっていた。

 function my_contact_enqueue_scripts(){
 wp_deregister_script('contact-form-7');
 wp_deregister_style('contact-form-7');
 if (is_page('lp')) {
    if (function_exists( 'wpcf7_enqueue_scripts')) {
         wpcf7_enqueue_scripts();
    }
 }
 }
 add_action( 'wp_enqueue_scripts', 'my_contact_enqueue_scripts');

考えてみればそのとおりだし単純なことに気づくのに、時間がかかってしまった。
contact formに限らず、
なにかの変更のためにfunction.phpに加えた修正がなにかに影響していること
は多々あるだろうから、なにかが上手く行かないときは、そのズバリ事象+function.phpを見直してみると良い。

あとそもそも論としては、動いていた時期と動かなくなった時期があるのであれば、その間に加えた変更を一つ一つ検証して切り分けるのが正道。
だが、開発が重なっているとそれを細かく実施できるかどうか、、、という工数も懸念される。

大枠で切り分けつつ、定番のミスを抑えておくことが肝心。