Chcę chronić mój przycisk jquery przed botami bez irytowania użytkowników, więc pomyślałem o dodaniu do niego niewidocznej recaptcha google. Jednak implementacja nie jest tak łatwa jak ja i nie mogę tego zrobić. Jeśli ktokolwiek może mi pokazać, jak to się robi, byłoby wspaniale. PS: Robię to na temat wordpress.Jak chronić przycisk jquery za pomocą Invisible reCaptcha?
Jest to dokumentacja:
https://developers.google.com/recaptcha/docs/invisible
Tworzenie niewidzialną Odśwież:
https://www.google.com/recaptcha/admin#beta
I to jest to, co mam:
HTML:
<button class="acf-get-content-button">Show Link</button>
<div class="fa" id="acf-content-wrapper" data-id="<?php echo $post_id; ?>"></div>
JS:
<script>
(function($) {
$('.acf-get-content-button').click(function(e) {
e.preventDefault();
$('.fa').addClass('fa-cog fa-spin fa-4x');
var $contentWrapper = $('#acf-content-wrapper');
var postId = $contentWrapper.data('id');
$.ajax({
url: "/public/ajax.php",
type: "POST",
data: {
'post_id': postId
},
})
.done(function(data) {
$('.fa').removeClass('fa-cog fa-spin fa-4x');
$contentWrapper.append(data);
$('.acf-get-content-button').removeClass().addClass('.acf-get-content-button')
});
});
$('.acf-get-content-button').mouseup(function() {
if (event.which == 1) {
$(".acf-get-content-button").hide();
}
});
})(jQuery);
</script>
ajax.php
<?php
define('WP_USE_THEMES', false);
require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php');
global $post;
$post_id = $_REQUEST["post_id"];
$content = get_field('ebook_link_pdf', $post_id);
echo ($content);
Powinieneś używać nonce z ajaxem w wordpress, który z pewnością pomógłby botom. –