Contact Form 7 で特別なメールタグが使えなくなった時の対処方法

Contact Form 7 を使っていて特別なメールタグの一部(フォームが送信された記事IDやタイトルなどの取得)が使えなくなってしまうという事態が起きてしまいました…なぜかと調べてみたところ解決方法を海外サイトで見つけましたので紹介します。

Contact Form 7 で特別なメールタグが使えなくなった時の対処方法

Contact Form 7 には特別なメールタグというものがあって通常の入力では取得できない情報を取得することができます。

私がよく使う特別なメールタグはこちらです。

  • [_post_id] — このタグは投稿の ID で置き換えられます。
  • [_post_name] — このタグは投稿の名前(スラッグ)で置き換えられます。
  • [_post_title] — このタグは投稿のタイトルで置き換えられます。
  • [_post_url] — このタグは投稿のパーマリンク URL で置き換えられます。

これらのタグでサイドバーに設置したフォームの情報を取得していました。

どのページからのお問い合わせなのかをこれらのタグを使って取得することができていたのですが、ある時を境に情報が取得できなくなってしまいました…

いろいろ調べた結果の解決方法

Googleでいろいろ検索したところ海外のWordPress.orgに解決方法を見つけることができました。

Hi,

After update CF till v.4.8 doesn’t work Submit button on all my websites anymore.

Errors:
jquery.js?ver=1.12.4:4 GET /wp-json/contact-form-7/v1/contact-forms/4/refill 404 (Not Found)
POST /wp-json/contact-form-7/v1/contact-forms/4/feedback 404 (Not Found)

Tell please, how to fix it?

つまり、Contact Form 7 のバージョン4.8が動かなくなりましたみたいなことらしいですが、その中の解決方法で「Contact Form 7 のバージョン4.7に戻すといいよ」と書かれていました。

また、パーマリンクを再構築する方法(パーマリンクを一旦空にして保存してからまた元に戻して保存する)もありますが、それでも動かない場合もあるみたいです…

古いバージョンのダウンロード先を教えてくれている人がいるので、現在インストールされている Contact Form 7 をサーバー上から削除してバージョン4.7をインストールすることで特別なメールタグが再使用できるようになりました。

Contact Form 7 バージョン4.7

https://downloads.wordpress.org/plugin/contact-form-7.4.7.zip

使用が出来なくなった詳しい原因が「Contact Form 7 の4.8以降で「Ajaxフォームの送信にjQuery Form Plugin(jquery.form.js)を使用しなくなった」ということらしいのですが、この手に詳しくない私にはわかりません(笑)

 

プラグインは最新版を使うことがのぞましいですが、特別なメールタグが使用できなくなってしまった方は一時しのぎで古い Contact Form 7 に戻すことで解決しますよ♪

あくまで一時しのぎでしかないので、そのうちプラグインのバージョンアップで改善されることを祈りましょう…