Ihr seid sicher schon öfteres über Webseiten gestolpert wo ich ein Captcha ausfüllen musstet. Diese Technologie gibt es eigentlich schon seit vielen Jahren, meistens muss man dann ein Feld erkennen das aus Zeichen und Zahlen besteht. Auch Google hat eigene Captcha Dienst gratis den Usern angeboten, und zwar waren dies diese Boxen wo man aus 9 Bilder Dinge erkennen musste „Alle Hydranten erkennen“ oder „Alle Velos anklicken“ usw. Ich habe diese Dinger gehasst, da ich sie mindestens 10x ausfüllen musste, bis alles korrekt war. Je nachdem was für ein Netzwerk man verwendet, gibts nämlich da ziemlichen Ärger.
Aus diesem Grund habe ich mich gefreut, dass Google eine Version 3 herausgebracht hat. Mit dem ReCaptcha V3 sollte diese Prüfung im Hintergrund ablaufen ohne, dass man als User, so komische Boxen ausfüllen oder Bilder anklicken musste. Leider hat sich hier Google entschieden, die Leute zu ärgern. Google hat nämlich so kleine Buttons an der rechten Seite einblenden lassen.
Google Recaptcha V3 Button / Badge im Ruhezustand
Google Recaptcha V3 Button / Badge im Hover Zustand
Wenn eine Webseite das Google Recaptcha V3 dann tauchen diese blöden Badges überall auf – selbst im Mobilen und machen ziemlichen Ärger.
Heute möchte ich euch eine Lösung zeigen, wie man diese blöden Badges ausblenden kann.
Google Recaptcha V3 Button / Badge komplett ausblenden
Vor ein paar Monate hat Google seine Regeln angepasst. Wenn man jetzt auf allen Seiten den Badge ausblenden möchte, dann wird der Schutz nicht mehr gewährleistet. Google sagt, man muss es auf Seiten wo es funktionieren soll, den Badge eingeblendet lassen. Also deaktiviert ihn auf allen Seiten ausser zb wo es ein Kontaktformular hat oder so.
Google Recaptcha V3 Button / Badge auf fast allen Seiten ausblenden
Nun eigentlich ist dieser Button / Badge auch eine gute Sache. Er zeigt nämlich den Usern, dass das Formular gesichert wird und darum kann es Leute geben, die dieser Button / Badge gerne drin haben wollen, aber vielleicht nicht auf allen Seiten. Aus diesem Grund gibts hier einen function.php Code. Diesen Code einfach anpassen und dann in euer functions.php File abspeichern.
1 2 3 4 5 6 7 8 | function wp_disable_recaptcha_badge(){ //Füge den Slug hinzu wo der ReCaptcha V3 Badge doch sichtbar bleiben soll wp_dequeue_script('google-recaptcha'); wp_dequeue_script('wpcf7-recaptcha'); wp_dequeue_style('wpcf7-recaptcha'); } } add_action( 'wp_enqueue_scripts', 'wp_disable_recaptcha_badge' ); |
Ihr nehmt diesen Code und passt ihn an einer Stelle an und zwar bei Codeziele 3
Hier definiert ihr den Slug der URL wo ihr ein Kontaktformular angezeigt habt. Ich habe zum Beispiel ein Formular auf der Seite https://www.chefblogger.me/wer-ist-der-chefblogger/ und das lautet der Slug also /wer-ist-der-chefblogger/.
Also meine Zeile 3 lautet jetzt so:
1 | if ( !is_page( array( 'wer-ist-der-chefblogger' ) ) ){ |
Hätte ich aber 2 Kontaktformulare auf verschiedenen Seiten zb unter wer-ist-der-chefblogger und unter /kontakt/ dann muss ich auch die 2 Seite in dieser Zeile 3 anpassen.
1 | if ( !is_page( array( 'wer-ist-der-chefblogger', 'kontakt' ) ) ){ |
Ihr passt also die 3. Zeile des Code entsprechend an und speichert den ganzen Code dann in euer function.php File ab und schon ist der Badge überall ausgeblendet ausser bei den Seiten mit den Kontaktformular(en).
Eigentlich eine geniale Lösung – und ihr könnt es nun anpassen so wie ihr es wollt.
Wer übrigens keine Ahnung hat wie man das Contact Form 7 Plugin von WordPress mit dem ReCaptcha V3 verbindet, ich habe dazu auch ein Youtube Video gemacht – einfach hier draufklicken und anschauen
Hier noch das Video zu diesem Thema
Hallo,
vielen Dank für diesen guten Tipp!!
Eines ist mir jedoch aufgefallen: Beim Code der oben steht (zum ganz ausblenden)
hast du ein „g“ vergessen.
Dort steht:
„.recaptcha-badge {
display:none;
}
Richtig (wie auch im Video) ist:
„.grecaptcha-badge {
display: none;
}
Toller Blog – tolle Arbeit – mein Kompliment!!
Hoi Jürgen, Danke für die netten Worte und dein Input – natürlich hast du recht und ich habs gerade korrigiert 🙂 dankeschön
Beachte, dass Du auf keinen Fall display: none; verwendest! Das deaktiviert die Spam-Protection des reCAPTCHA.
.grecaptcha-badge { visibility: hidden; }
Guten Tag,
ich habe probiert genau diesen Code in die function.php einzubinden, aber es funktioniert bei mir nicht. .grecaptcha-badge { visibility: hidden; } blendet alles aus, aber eben nicht auf der Kontaktseite ein.
Was kann ich noch machen damit das klappt? Ich verwende das Ashe Template
Danke vorab
hast du die zeile 3 korrekt angepasst?
Die functions.php Lösung scheint nicht mehr zu funktionieren.
Ich hatte vorher eine andere php Lösung im Einsatz, die auch ihre Wirkung verloren hat.
Ich meine, ja ab und zu echt nervig das Teil.. würde es aber gerne behalten, doch nicht rechts, sondern links unten. Hat mir da jemand ein Snippet, wie ich das verschieben kann?
Hallo du solltest liebe diese Methode wählen von rechts nach links
Grüsse Heiko
/* Move reCAPTCHA v3 badge to the left */
.grecaptcha-badge {
width: 70px !important;
overflow: hidden !important;
transition: all 0.3s ease !important;
left: 4px !important;
}
.grecaptcha-badge:hover {
width: 256px !important;
}