-
投稿者投稿
-
2021年3月25日 7:17 PM #71498
【お使いの Snow Monkey のバージョン】13.2.3
【お使いの Snow Monkey Blocks のバージョン】10.3.3
【お使いの Snow Monkey Editor のバージョン】4.1.0
【お使いの Snow Monkey Forms のバージョン】1.5.0
【お使いのブラウザ】Chrome最新版
【当該サイトのURL】開発中のため非公開### 発生している問題
固定ページにSnow Monkey Formsにてメールフォームを設置し、reCAPTCHAを設定しました。reCAPTCHAを使用するとページ右下にreCAPTCHAのロゴが表示されますが、すべてのページに表示されます。
これは仕様なのでしょうか。
もし仕様でしたら以下のように改善していただけると大変助かります。### 希望する動作
Snow Monkey Formsでメールフォームを設置したページでのみreCAPTCHAのロゴが表示されることを希望します。
### 試したこと
Snow Monkeyのプラグイン以外(My Snow Monkeyも含め)をすべて無効化し、念の為キャシュも削除して動作を確認しましたが変化ありませんでした。
メールフォームが設置されていないページにreCAPTCHAのロゴが表示されるのはよろしくないと思いますので、是非改善をしていただきたく存じます。
♥ 0いいねをした人: 居ません2021年3月25日 8:39 PM #71512Contact form7などでもそうですが、reCAPTCHA設定すると全ページに表示されます。
フォームを設置しているページのみに設定したい場合は、子テーマの
function.php
か、my snow monkeyプラグインの、my-snow-monkey.php
に、下記の様に追加すれば表示、他のページに表示されなくなります。
お試しください。// ページスラッグがcontactのとき以外、「reCAPTCHA」を読み込ませない function load_recaptcha_js() { if ( ! is_page( 'contact' ) ) { wp_deregister_script( 'google-recaptcha' ); } } add_action( 'wp_enqueue_scripts', 'load_recaptcha_js',100);
♥ 2いいねをした人: 居ません2021年3月26日 9:09 AM #71567Snow Monkey Formsでメールフォームを設置したページでのみreCAPTCHAのロゴが表示されることを希望します。
これは当初僕もやりたいなと思っていたのですが、下記2つの問題があるなと思い、現在のように全ページにロードされるようにしています。
– reCAPTCHAv3 がなにをもってスパムだと判定しているかに僕がくわしくない(例えばフォームを操作する挙動だけではなく、ページ間の操作や移動についてもトラッキングして判定をおこなっているのかもしれない)
– プラグイン側で、どのページにフォームが設置してあるかを判定してスクリプトを出し分けるのが困難参考:
どうしても出し分けをやりたいのであれば木村さんが共有してくださったコードを使う形になると思います。
♥ 1いいねをした人: 居ません2021年3月28日 10:59 AM #71760my snow monkey を使わない方法です。
カスタマイザの追加CSSでロゴを非表示にしたうえで、
/* hide reCAPTCHA v3 badge */ .grecaptcha-badge { visibility: hidden; }
フォームを設置するページに例えばこんな感じで、代わりとなるカスタムHTMLブロックを挿入します。
どうでしょうか?<div class="recaptcha-policy">このサイトは reCAPTCHA と Google によって保護されています。<a href="https://policies.google.com/privacy" target="_blank" rel="noopener">プライバシーポリシー</a>と<a href="https://policies.google.com/terms" target="_blank" rel="noopener">利用規約</a>が適用されます。</div>
参考:
♥ 0いいねをした人: 居ません2021年4月6日 11:13 AM #72583皆様、様々な対処方法を提案して頂きありがとうございます。
せっかくの提案に対してご返答が遅くなりましたことを、お詫びいたします。
(年度末の納品等に追われご返信ができませんでした)木村様
素早い回答をして頂き、ありがとうございます。
my-snow-monkey.phpにコードを追加してみました。
なるほど、google-recaptchaのJavaScriptをロードしないことで非表示にするのですね。キタジマ様
理解できました。
Google reCAPTCHA v3、てっきりフォーム設置ページのみを見ていると思っていましたが、サイト全体の行動を見ているようですね。タカヒロ様
プライバシーと利用規約のリンクの記載があれば、reCAPTCHA バッジを隠すことは認められているのですね。
皆様から提案された方法や情報から、フォーム設置ページのみreCAPTCHA バッジを表示させ、他のページはCSSのvisibility: hidden;で非表示にする方法で対処しようと思います。
CSS例
(例ではbody要素に固定ページスラッグを付与させています。)body:not(.contact) .grecaptcha-badge { visibility: hidden; }
2021年4月6日 8:56 PM #72625皆様のおかげで解決しましたので、閉じさせていただきます。
♥ 1いいねをした人: 居ません -
投稿者投稿
- トピック「Snow Monkey FormsのreCAPTCHAを設定時のページ右下に表示されるreCAPTCHAロゴについて」には新しい返信をつけることはできません。