我希望你做得很好。在这里,我分享了记录喜欢的代码。的代码single.php
具有用于对wp函数进行ajax调用的javascript代码。此wp函数具有存储相似表达式的代码,它将返回post上记录的相似表达式总数。
我只为登录用户策划了它。
将此代码放入functions.php
/* Ajax call */
add_action(\'wp_ajax_likeExpression\', \'likeExpression\');
function likeExpression() {
if(is_user_logged_in()){
$post_id = $_GET[\'post_id\'];
$userId = get_current_user_id();
$metaKey = \'_like_on_game_post_\';
$userLikes = get_user_meta($userId, $metaKey, true);
if(empty($userLikes)){
update_user_meta($userId, $metaKey, wp_json_encode([$post_id]));
}else{
$userLikes = json_decode($userLikes);
if(!in_array($post_id, $userLikes)){
array_push($userLikes, $post_id);
update_user_meta($userId, $metaKey, wp_json_encode($userLikes));
}
}
$postLikeCount = get_post_meta($post_id, \'_like_count_on_post_\', true);
update_post_meta($post_id, \'_like_count_on_post_\', ++$postLikeCount);
exit($postLikeCount);
}
}
将此放入
single.php, (
在页脚结束之前)<?php if(is_user_logged_in()): ?>
<script>
jQuery(function($){
$(\'.game-footer-like-btn\').on(\'click\', function(){
$.ajax({
url: \'<?php echo admin_url(\'admin-ajax.php?action=likeExpression&post_id=\'.get_the_ID()) ?>\',
method: \'get\',
}).done(function(res){
console.log(res)
//if its done
});
});
});
</script>
<?php endif; ?>
如有任何疑问,请随时联系。谢谢:)