个性化阅读
专注于IT技术分析

在WordPress中更新本地化脚本的Data参数

我正在研究子主题, 在my-page-template.php中, 我有:

$id_curr= 5; //calculated value through code
wp_localize_script('my_js', 'ajaxload', array('post_id' => $id_curr)); 

在my_js.js中, 我有一个AJAX调用:

$.ajax({
   //...
   type: 'post', data: {
      action: 'ajax_load', post_id: ajaxload.post_id
   }
})

现在在functions.php中, 我想根据新结果编辑/更新ajaxload.post_id。有没有办法做到这一点?如果我尝试使用相同的$ name如下所示重新调用wp_localize_script(), 是否可以使用?

$id_new= 8; //new calculated value
wp_localize_script('my_js', 'ajaxload', array('post_id' => $id_new));  

#1


经过深入研究, 我敢于回答我的问题。

WordPress具有功能wp_send_json(), 该功能允许将响应发送回AJAX请求。该函数可以更新ajaxload.post_id。

在functions.php中:

$return = array('post_id' => $id_new);
wp_send_json($return);

在my_js.js中:

$.ajax({
   type: 'post', data: {
      action: 'ajax_load', post_id: ajaxload.post_id
   }, success:function(data) {
      var result = $.parseJSON(data);
      ajaxload.post_id = result.post_id;
   }
});

#2


创建一个具有ID的数组。

$ids = array( 5, 8 );
foreach ( $ids as $id ) {
    wp_localize_script('my_js', 'ajaxload', array('post_id' => $id));
}
赞(0)
未经允许不得转载:srcmini » 在WordPress中更新本地化脚本的Data参数

评论 抢沙发

评论前必须登录!