質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • WordPress

    7439questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

パーマリンクをカスタム設定にするとContact Form7が動かない

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,350

y.ueno

score 2

前提・実現したいこと

Contact Form 7を使用し、サイトにメールフォームを設置したい。
メールフォームは複数設置し、各ページのURLは下記のように設定する。

http://●●.com/contact/
http://●●.com/contact/estimate.html

発生している問題・エラーメッセージ

Contact Form7をインストールし、テストで自動返信メールが届くところまでは設定できたのですが、
Custom PermalinksやPermalinks Customizerなどのプラグインを使用してパーマリンクを変更すると
送信ボタンの隣に矢印が表示され回転し続けたままになります。自動返信メールも届きません。
また、Wordpressのパーマリンク設定を「http://●●.com/%postname%/」に変更した場合も同じです。

Wordpressの再インストールをしたばかりのため、
テーマは元々入っていたtwentysixteenを変更せずそのまま使用しています。

WordpressもPHPも初心者のため、書き方に不明な点があれば申し訳ありません。
分かる方、ご教授頂けると大変助かります。よろしくお願い致します。

追記

関係あるかどうか分かりませんが、.htaccessの内容を載せておきます。

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
Options -Indexes
<IfModule mod_fcgid.c>
    <Files ~ (\.html)>
        SetHandler fcgid-script
        FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .html
        Options +ExecCGI
        allow from all
    </Files>
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • callmehappening

    2016/05/08 09:08

    パーマリンク設定デフォルトの場合、パーマリンクカスタム系プラグインを無効化した場合はそれぞれ動作しますか? あと「http://●●.com/contact/」のURLでもフォームを表示させるのですか?

    キャンセル

  • y.ueno

    2016/05/11 19:06

    質問に反応頂きありがとうございます。 内容が分かりづらく、申し訳ありません。 > パーマリンク設定デフォルトの場合、パーマリンクカスタム系プラグインを無効化した場合 どちらも正常に動作します。 > あと「http://●●.com/contact/」のURLでもフォームを表示させるのですか? 「http://●●.com/contact/」と「http://●●.com/contact/estimate.html」に 別々のフォームを設置したいと考えています。

    キャンセル

回答 1

+1

実際に見てみないとわかりませんが、過去の例を確認すると
プラグインのコンフリクトにより正常なPOSTが完了しない時の挙動のようです。
以前似たような事例で、すでにFixされたことがあるようなのですが、最新版(4.4.2)をお使いかご確認ください。
パーマリンクカスタム系プラグインを全て無効化しましょう。
デフォルトパーマリンクでは正常に動作するとのことですので、SSLで運用されている場合は以下の記事が参考になるかもしれません。
https://pc.shigizemi.com/2015/09/26/not-work-cf7/

必要性に疑問は残りますが、
http://●●.com/contact/
http://●●.com/contact/estimate.html
それぞれにContact Form 7のお問い合わせを表示させるためには
'contact'をスラッグにしたカテゴリを作成してテーマディレクトリに'category-contact.php'というテンプレートファイルを作成して、
echo do_shortcode('[contact-form-7 id="◯◯◯" title="◯◯◯"]'); 
でコンタクトフォームを表示、このカテゴリに属した投稿を'estimate'で作成してショートコードタグのみ入力し、設定->パーマリンク設定からカスタム構造にてhttp://●●.com/%category%/%postname%/.htmlに変更すると実現可能かもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • WordPress

    7439questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。