在实现新的谷歌Invisible reCATPTCHA时,默认情况下,当你滚动屏幕时,屏幕右下方会弹出一个小的“受reCAPTCHA保护”徽章。

我想把这个藏起来。


当前回答

Matthew Dowell的帖子略有变化,避免了短闪光,但在接触形式7可见时显示:

div.grecaptcha-badge{
    width:0 !important;
}

div.grecaptcha-badge.show{
    width:256px !important; 
}

然后,我在子主题的header.php中添加了以下内容:

<script>
jQuery( window ).load(function () { 
    if( jQuery( '.wpcf7' ).length ){ 
        jQuery( '.grecaptcha-badge' ).addClass( 'show' );
    }
});
</script>

其他回答

对于谷歌reCaptcha v3,常见问题解答如下:

只要包含reCAPTCHA,您就可以隐藏徽章 在用户流程中可见的品牌。请包括以下文本: 此站点受reCAPTCHA和谷歌. com保护 <a href="https://policies.google.com/privacy">隐私策略</a> and <a href="https://policies.google.com/terms">服务条款</a>适用。 例如: 注意:如果您选择隐藏徽章,请使用 .grecaptcha-badge{可见性:隐藏;}

目前尚不清楚这是否适用于reCaptcha v2。我建议升级到v3,因为它对您的访问者来说是一个更好的体验。

由于隐藏徽章并不是真正合法的根据TOU,现有的放置选项破坏了我的UI和/或UX,我想出了以下自定义,模仿固定定位,但取而代之的是内联渲染:

你只需要在你的徽章容器上应用一些CSS:

.badge-container {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  width: 70px;
  height: 60px;
  margin: 0 auto;
  box-shadow: 0 0 4px #ddd;
  transition: linear 100ms width;
}
.badge-container:hover {
    width: 256px;
}

我想这是你合法能做到的极限了。

Recaptcha联系人表单7和Recaptcha v3解决方案。

body:not(.page-id-20) .grecaptcha-badge {
    display: none;
}

有多个联系表单页面?

body:not(.page-id-12):not(.page-id-43) .grecaptcha-badge {
    display: none;
}

如果你有更多的联系表单页面,你可以添加更多的“不”。

body:not(.page-id-45):not(.page-id-78):not(.page-id-98) .grecaptcha-badge {
    display: none;
}

确保你的主体部分是这样的:

<body>

更改它,使它看起来像这样:

 <body <?php body_class(); ?>>

我看到了下一个关于这个的评论

如果您想将自己的CSS应用到徽章上,那么将徽章内联放置也很有帮助。但是请记住,当您注册API密钥时,您同意显示谷歌的条款和条件-所以请不要隐藏它。虽然可以用CSS让徽章完全消失,但我们不推荐这样做。

我测试了所有的方法,并且:

警告:显示:none禁用垃圾邮件检查!

可见度:隐藏和不透明度:0不禁用垃圾邮件检查。

使用代码:

.grecaptcha-badge { 
    visibility: hidden;
}

当您隐藏徽章图标时,谷歌希望您通过添加以下内容在表单上引用他们的服务:

<small>This site is protected by reCAPTCHA and the Google 
    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
    <a href="https://policies.google.com/terms">Terms of Service</a> apply.
</small>