Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在wordpress中向简单ajax函数添加wp nonce_Jquery_Ajax_Wordpress - Fatal编程技术网

Jquery 如何在wordpress中向简单ajax函数添加wp 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&amp;post_id=243" data-id="243"&g

我正在尝试在wp中使用ajax制作简单的插件,我在一些人的支持下为帖子制作了“喜欢”这样的按钮

我的问题 1. 我正在寻找一个解决方案,以确保它与nonce,但我提到了许多在谷歌,但没有成功

查看代码时的我的链接:

<a class="love-button" href="http://localhost/topaco/wp-admin/admin-ajax.php?action=post_love_add_love&amp;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,
},