Сохранить данные пользователя и ответ в cookie WordPress
Реализую простой блок кнопок нравится/не нравится пост. Не нужен ни какой замудрённый функционал, только сохранить ответ пользователя. С этим проблем не возникло, использую такой код. Но вот никак не могу сообразить, как запомнить действия пользователя, чтобы исключить возможность повторного голосования - ни да, ни нет, именно в этой статье.
<span class="article__footer_btn article__footer_btn--yes" data-id="<?php echo $post->ID ?>">Да</span>
<span class="article__footer_btn article__footer_btn--no" data-id="<?php echo $post->ID ?>">Нет</span>
$('.article__footer_btn--yes').click(function(){
var $this = $(this);
var id_post = $this.attr('data-id')
var originalText = $this.text();
$.ajax({
url: myajax.url,
type: 'POST',
data: {
action: 'my_action',
nonce_code : myajax.nonce,
param: 'yes',
param2: id_post
},
success: function( data ) {
$this.text('+1');
setTimeout(function() {
$this.text(originalText)
}, 5000);
//$('.article__footer_btn--yes').text('Да').fadeIn(100).delay(4999);
//alert( data );
}
});
});
$('.article__footer_btn--no').one('click', function(){
var $this = $(this);
var id_post = $this.attr('data-id')
var originalText = $this.text();
$.ajax({
url: myajax.url,
type: 'POST',
data: {
action: 'my_action',
nonce_code : myajax.nonce,
param: 'no',
param2: id_post
},
success: function( data ) {
$this.text('+1');
setTimeout(function() {
$this.text(originalText)
}, 5000);
//alert( data );
}
});
});
if( wp_doing_ajax() ){
add_action( 'wp_ajax_my_action', 'yes_no_function' ); // wp_ajax_{ЗНАЧЕНИЕ ПАРАМЕТРА ACTION!!}
add_action( 'wp_ajax_nopriv_my_action', 'yes_no_function' ); // wp_ajax_nopriv_{ЗНАЧЕНИЕ ACTION!!}
// первый хук для авторизованных, второй для не авторизованных пользователей
}
function yes_no_function(){
if (isset($_POST['param']) && isset($_POST["param2"]) ) {
check_ajax_referer( 'myajax-nonce', 'nonce_code' );
if ($_POST['param'] == 'yes'){
$meta_key = 'like_post';
} elseif ($_POST['param'] == 'no'){
$meta_key = 'dislike_post';
}
$id = $_POST['param2'];
$post_views = (int)get_post_meta($id,$meta_key, true);
if( !update_post_meta($id, $meta_key, ($post_views+1)) ) add_post_meta($id, $meta_key, 1, true);
}
die; // даём понять, что обработчик закончил выполнение
}
Дополню вопрос. Подскажите, хотя бы куда копать, где посмотреть и вообще насколько это возможно?