フォーラムをリニューアルしました!
今後は、新フォーラムをご利用ください。
javascriptまたはキャッシュ設定の問題? < SWELLに関する質問
コンタクトフォームにcontact form 7を設置しております。
必須項目を未入力でメッセージが表示されるか試しに送信をしたところ
一切メッセージ(送信完了や必須項目に入力してください)が出ず、ページの再読み込みがされ
URLの末尾に「#wpcf7-○○○-XXX」と表示されました。
テスト環境で同じくコンタクトフォームにcontact form 7を設置したところ、
※メッセージの送信が失敗(ちゃんと設定していない?かもしれません)
エラーメッセージはちゃんと表示され、ページの再読み込み(URLの末尾に#wpcf7~)もされることなく
動作していました。
通常・テスト環境の 外観>SWELLテーマエディター に関しては、どちらも何か追加したり変更したことはありません。
contact form 7のヘルプでも、同様な症状を探したところ
「非 AJAX 送信モードで動作しているため」 https://contactform7.com/ja/faq/after-submission-my-contact-form-redirects/
と明記されており、その先の詳細では「JavaScript のファイルがロードされていない」との明記もありました。
テスト環境(設定初期)では動作していたのですが、原因が特定できずにいます。
もしかすると、キャッシュ設定か、またはJavaScriptが動作するコードを明記しなければならないのでしょうか。
プラグインの入れ直しも試しましたが、解決できませんでした。
SWELL設定側でなにかチェックをはずすべき項目がある、またはコードの追加明記によって解決されるのであれば、教えていただきたくと思います。
■通常URL: https://xrossk.com/contact/
■テストURL: https://test.xrossk.com/contact/
単純な疑問なのですが(この質問への回答でなくてすみません)、このテストURLをご用意いただいて質問に至った意味は、どういった部分にありますでしょうか?
テストURLを用いても、少なくとも私からは「同じだね…」となるので、
たとえば、私であればテストURLを用いて
- 通常URLをコピーした内容を元に、他テーマ(デフォルトテーマなど)に切り替えた上で動作検証する
- 他テーマ上で問題なければ、SWELLで気になる部分の設定項目をON/OFFして切り分けなどを行ってみる
といった部分が必要かと思います。(これで少し洗い出しが出来ますね)
ちなみに、私はほとんどそのあたりの設定はいじらないのですが、同じContact Form 7で正常に動作出来ています。
https://tecchan.jp/contact/
ちなみに、本件の主題(解決)とは異なるかもしれませんが、ページ遷移高速化機能を使用するときには、PrefetchやPjaxを用いるときはContact Form 7を用いたページはページ遷移高速化から除外して設定を行います。
にゃーん .
all in one wp migrationプラグインを使い、テスト環境へ同じデータを復元したところ
表題の件は、問題なく動作していました。
となると、原因はどのようなことが挙げられますでしょうか。
キャッシュ関連ということでしょうか。
今おっしゃっていることは、初期の書き込みと食い違うように感じますが、
- テストサイトは、今おっしゃっている通り単にAll in one WP Migrationで本番サイトをコピーしたものか
- それとも、初期の書き込みの通り、テスト環境は「設定をSWELLの初期状態にしたもの」なのか(再構築したもの?)
どちらか?と言うことです。これが食い違うと、原因の切り分けは難しいですよね。
- 単にコピーしただけ(SWELLの設定は変えていない)であれば、サーバー側の設定内容や.htaccessなどの部分が影響している可能性がある
- そうではなくて、SWELLの設定を変えたのであれば、ひとつひとつ順番に変えてみれば、ご自身で原因調査はできるはず
だと思うのですが、いかがでしょうか?
にゃーん .
- テストサイトは、今おっしゃっている通り単にAll in one WP Migrationで本番サイトをコピーしたものか
→本番サイトをコピーしたものなります
コピーしたものをテスト環境にて復元
以後、テスト環境での設定には触れていません。
私の場合ですと、Xserverを利用していますので
おっしゃっている通り、サーバー側の設定問題ということになるのでしょうか。
エックスサーバーでは、サーバー設定はドメイン・サブドメインともに同一の設定内容になります。
All in One WP Migrationによるコピーの場合ですと、wp-contentディレクトリ以下とデータベースの移行(つまり、SWELLなどで設定した内容は基本的にすべて引き継がれる)が行われます。
wp-configディレクトリ以外、たとえばwp-config.phpや.htaccessなどのファイルの移行は行われません。
本番サイトとテスト環境との違いとなりますと、現状ではこのあたりでで、原因の切り分けができているわけではないですが、考えられるものとして提示してます。
にゃーん .
reCAPTCHAのインラインに関して、
プラグイン:Invisible reCaptcha 設定内「Contact Form 7の保護を有効化」のチェックを外したところ
本番サイトで、正常に動作しました。
ご指摘いただいた通りでした。ありがとうございます。
となると、reCaptcha設定はInvisible reCaptchaから有効にするのではなく、
Contact Form 7のインテグレーションより有効するのがベストになりそうですが、
しらこさんのcontatフォームでもContact Form 7を使用されているとのことですが
reCaptchaの有効は、Contact Form 7のインテグレーションよりしているのでしょうか。
解決して良かったです!(意外と手元のものが影響していたりするんですよね)
私の設定内容はContact Form 7でのインテグレーションからの設定で、こちらのブログ記事で掲載通りの内容を設定しているだけでございます。
https://tecchan.jp/entry/200630-recaptcha/
にゃーん .
しらこさんの設定と同じく、Contact Form 7でのインテグレーションからの設定で
無事、本件解決できました。
質問タイトルとは全く違いまして、申し訳です。
(本当に、手元のものが影響しているんですね...)
本当にありがとうございます!
思い出したんですが、先日も私がこちらのスレッドで返信させていただきましたね。
https://u.swell-theme.com/community/postid/6010/
※その後、お返事いただけてなかったですが…
本件は元々、SWELLの機能に関する説明でも、SWELLの不具合対処でもなく、あくまで「ご自身のカスタマイズによる不具合対処」ですので、以前のスレッドで指摘した通り、WordPress公式フォーラムに誘導したのはそうした意味合いです。
先日も「インラインでreCAPTCHA v3を入れている」とだけ仰っていましたが、今ひとつこちらがピンとこなかったのは、Contact Form 7単独ではそういった機能が用意されていないからです。(なので、こちらでは「通常ではない方法」と理解しています)
確かに入れるプラグインはあるようですね。Invisible reCaptcha for WordPressという、現時点で最終更新が1年前になっているメンテナンスされていないプラグインですが…
何かのプラグインと組み合わせて使用しても良いのですが、その際 @xrossk さんがどのような設定をやったかがわかりませんので、今回私がご案内して返答いただいた通り、できるだけ使用したプラグインの名称や、参考にしたブログなどの周辺の情報は出してください。それが良いか悪いかも判断を行います。
ただ、今回はそこが原因とは思っていないので、SWELLの機能を疑い、SWELLのフォーラムに書かれたのだとは思いますが、そうなると独自でカスタマイズされてしまったものをどう回答するかについては、こちらとしても悩みの部分です。
回答する側としても、そうした部分が拾えないと的確な回答は難しいので、なるべく独自でカスタマイズした部分は外して、それでも問題が発生する場合にご質問いただくと今後よりスムーズになるかと思います。(そうすると、質問する前に、カスタマイズ部分を外した時点で解決することも多くなると思います)
にゃーん .