我需要帮助为wordpress编码ajax点击计数器.... 我已经尝试了几天,似乎无法弄明白。 我有一个模板页面,列出自定义的帖子类型,并显示混音带/专辑 所有这些都是可下载的。模板页面在php中编码,因此链接是变量而不是静态html。我需要创建一个计数器,计算并显示每个下载链接被点击的次数....所以点击计数器......
这是模板页面上链接的代码。
<a href="<?php echo get_post_meta($post->ID,'mixtape_link',true); ?>" class="button small"><span>Download Now!</span></a>
我已经尝试了大量的脚本和插件,似乎无法弄明白。
如果有人可以发布示例代码或为我执行此操作,将非常感谢
答案 0 :(得分:1)
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();
}
应该足够接近,如果你不能完成这项工作,你需要研究以下内容: