Jquery 如何在wordpress中向简单ajax函数添加wp nonce
我正在尝试在wp中使用ajax制作简单的插件,我在一些人的支持下为帖子制作了“喜欢”这样的按钮 我的问题 1. 我正在寻找一个解决方案,以确保它与nonce,但我提到了许多在谷歌,但没有成功 查看代码时的我的链接:Jquery 如何在wordpress中向简单ajax函数添加wp nonce,jquery,ajax,wordpress,Jquery,Ajax,Wordpress,我正在尝试在wp中使用ajax制作简单的插件,我在一些人的支持下为帖子制作了“喜欢”这样的按钮 我的问题 1. 我正在寻找一个解决方案,以确保它与nonce,但我提到了许多在谷歌,但没有成功 查看代码时的我的链接: <a class="love-button" href="http://localhost/topaco/wp-admin/admin-ajax.php?action=post_love_add_love&post_id=243" data-id="243"&g
<a class="love-button" href="http://localhost/topaco/wp-admin/admin-ajax.php?action=post_love_add_love&post_id=243" data-id="243">give like for pơst</a>
您可以像这样使用cookies:
$cookie_name = "liked-" . get_the_ID();
$cookie_value = get_the_ID();
if(!isset($_COOKIE[$cookie_name])) {
// Fire like action here and set cookie
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // keep it for a month
} else {
// Do something, if post is already liked
}
以防您或某人需要有关添加nonce的答案 1-将nonce添加到wp_本地化_脚本:
wp_localize_script( 'love', 'postlove', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'love-nonce' ),
));
2-添加到您的功能中:
function post_love_add_love() {
check_ajax_referer( 'love-nonce' );
// Your code ...
}
3-将nonce添加到JS代码(数据块):
至于第二部分,您可以使用@Ali_k解决方案。谢谢您的意见,但如何在url中添加nonce.)
wp_localize_script( 'love', 'postlove', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'love-nonce' ),
));
function post_love_add_love() {
check_ajax_referer( 'love-nonce' );
// Your code ...
}
data : {
action : 'post_love_add_love',
post_id : post_id,
security: postlove.security,
},