кодирование счетчик кликов ajax на WordPress

Мне нужна помощь в кодировании счетчика кликов ajax для WordPress ….
Я пытался в течение нескольких дней и не могу понять это.
у меня есть страница шаблона, которая перечисляет пользовательский тип сообщения и отображает микстейпы / альбомы
и все они доступны для скачивания. страница шаблона закодирована в php, поэтому ссылки являются переменными, а не статическими html. мне нужно создать счетчик, который подсчитывает и отображает, сколько раз нажимается каждая ссылка для скачивания …. так что счетчик кликов ….

это код для ссылки на странице шаблона.

<a href="<?php echo get_post_meta($post->ID,'mixtape_link',true); ?>" class="button small"><span>Download Now!</span></a>

Я попробовал тонны скриптов и плагинов и не могу понять это.

если кто-то может опубликовать пример кода или сделать это для меня, это будет очень ценно

0

Решение

HTML:

<a href="<?php echo get_post_meta($post->ID,'mixtape_link',true); ?>" id="thisdownloads" class="button small"><span>Download Now!</span></a>

<script>
jQuery(document)ready(function() {

jQuery(this).on('change', '#thisdownloads', function() {

jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",

data: {
action: 'update_downloads',
ID: '<?php get_the_ID(); ?>'// if within the loop you need a correct id for this to work...........
},
success: function (output) {}
console.log(output);
});});
});

</script>

PHP:

    add_action('wp_ajax_update_downloads', 'update_downloads');
add_action('wp_ajax_nopriv_update_downloads', 'update_downloads');

function update_downloads() {

$id= sanitize_text_fields($_POST['ID']);

$downloads= get_post_meta($id,'_downloads',true);

if(!$downloads):
$downloads=1;
else:
$downloads++;
endif;

update_post_meta($id,'_downloads', $downloads);
echo $downloads;
exit();

}

должно быть достаточно близко, если вы не можете сделать эту работу, вам нужно исследовать следующее:

  1. JQuery «на» изменение
    Безопасный режим 2.jquery (WordPress)
  2. JQuery AJAX WordPress
  3. WordPress AJAX функции добавить действие
  4. update_post_meta
1

Другие решения

Других решений пока нет …