我有一个简单的使用ajax的点击计数器,唯一的问题是,如果您没有登录,就无法更新帖子的计数器元框。
在我的例子中,这篇文章是一则广告,点击后会触发ajax功能。
是否可以允许guest使用ajax在前端更新post-meta?
更新时间:
这是jQuery脚本:
<script>
jQuery(document).ready( function() {
jQuery(\'.ad.<?php echo $post->ID; ?>\').click(function() {
jQuery(\'#<?php echo $post->ID; ?>\').submit();
});
jQuery(\'#<?php echo $post->ID; ?>\').submit(function(e) {
e.preventDefault();
jQuery.ajax({
type: "POST",
url: ajaxurl,
data: "action=adClickCounter&id="+<?php echo $post->ID?>,
success: function() {
window.setTimeout(function(){
window.location.href = "http://www.example.com/";
}, 50);
}
});
});
});
</script>
这是我的点击计数器功能:
function adClickCounter_ajax() {
$post_id = $_POST[\'id\'];
$adClickCount = get_post_meta($post_id, \'_adClickCount\', true);
$adClickCount = $adClickCount + 1;
update_post_meta($post_id,\'_adClickCount\',$adClickCount);
die($adClickCount);
}
add_action(\'wp_ajax_adClickCounter\', \'adClickCounter_ajax\');