5ヶ月前に投稿

「Contact Form 7」を必要なページにだけ読み込む

2018年12月27日

この記事は約 5 分で読めます。

4.5

「Contact Form 7」で「reCAPTCHA」を
Ver.3にすると

全てのページに
reCAPTCHA で保護されています」の
バッジが
画面右下に出現します。

しかも、
トップに戻るボタン」と
reCAPTCHA で保護されています」の
バッジが、
見事に被ってしまうので
何とかしたい。

調べてみると、
よいものがありました。

「Contact Form 7」を例に
プラグイン有効時に読み込む
CSSやJSを削除する方法

説明しています。

特定のページ以外では
CSSとJavaScriptを削除したい
(特定のページだけで読み込ませたい)

という場合は、functions.phpへ
以下のように記述することで実装できます。

wp_enqueue_scripts()を使用する方法

わたしは
三つの固定ページに
「Contact Form 7」を
設置しているので、

「131、147、325」の
三つの固定ページ以外では
CSSとJSを読み込んでいる部分を削除する
というものになり、
functions.phpに記述します。

add_action( 'wp_enqueue_scripts', 'deregister_cf7_files' );
function deregister_cf7_files() {
  if ( ! is_page( array('131','147','325') ) ) {
    wp_dequeue_style( 'contact-form-7' );
    wp_dequeue_script( 'contact-form-7' );
    wp_dequeue_script( 'google-recaptcha' );
  }
}

これで、
「Contact Form 7」と
「reCAPTCHA で保護されています」の
バッジは
「131、147、325」の
三つの固定ページ以外では
読み込まれなくなりました。

CAUTION

2018/12/22 Luxeritas 3.5.7

Google reCAPTCHA v3
がコメントフォームで
使えるようになりました。

コメントフォームのある
ページでも
「reCAPTCHA で保護されています」の
バッジが表示されなくなりますので
注意してください。

reCAPTCHAのバッジは必ず表示しなければならない

reCAPTCHAのバッジは
勝手に消すと
規約違反になる
そうです。

Luxeritas の「トップに戻るボタン」をずらす

CAUTION

2018/12/22 Luxeritas 3.5.7

Google reCAPTCHA v3
がコメントフォームで
使えるようになりました。

reCAPTCHA v3 だと、
「reCAPTCHA で保護されています」の
バッジが
Page Top ボタンと重なっちゃうので、
reCAPTCHA が使われてるページだけ、
Page Top ボタンを左か上に
ずらせる設定項目も用意してあります。

さて、
「131、147、325」の
三つの固定ページは
「Contact Form 7」と
「reCAPTCHA」は
読み込まれるので
「reCAPTCHA で保護されています」の
バッジが
表示されます。

なので、
トップに戻るボタン」を
少し上にずらします。

「131、147、325」の
三つの固定ページだけに
スタイルを充ててやります。

記事投稿(編集)画面の
「追加ヘッダー」に
以下のCSSを書きます。

(Luxeritas 3.3.5 より
前のバージョンは
カスタムフィールドに
addhead という名前を追加し、
値の部分に以下のCSSを書きます)

<style>
#page-top {bottom: 80px !important;}
</style>

「reCAPTCHA バッジ」の位置をずらす

reCAPTCHA バッジの
表示位置を変えるには、

子テーマの編集 style.css に
以下を書きます。

/* reCAPTCHA バッジの位置 */
.grecaptcha-badge {
     bottom: 80px !important;
}

最後に

reCAPTCHA v3 になって
確認用画像が表示されなく
なってスムーズになったのは
大変よいと
思います。

いずれ
ディスカッションにも

reCAPTCHA v3が導入されると
(導入されて欲しい)

※ 2018/12/22 Luxeritas 3.5.7 で
実装済み

「reCAPTCHA で保護されています」の
バッジは
ほとんどのページで
表示されるようになるのかな?

貴重なお時間を割き、
最後まで
ご高覧いただきまして
有難うございました
「Contact Form 7」を必要なページにだけ読み込む