我很久没有这样做了,所以这可能不是完美的,但这里有一个关于使用AJAX解决问题的想法(在jQuery中是一个JavaScript库)的要点。 Ajax将允许您使用钩子将JSON字符串发送到您的functions.php中的php函数。
首先在你的functions.php中,你需要本地化wp ajax脚本。
function add_ajax(){
wp_localize_script('main-script', 'options', array('ajax_url' => admin_url('admin-ajax.php')));
}
add_action('wp_head', 'add_ajax');
然后,你需要添加一个动作钩,这与wp_ajax_开始。这个钩子绑定到一个可以处理你的选项的函数,并将在一个jQuery脚本中调用。
add_action('wp_ajax_options', 'handle_options');
add_action('wp_ajax_nopriv_options', 'handle_options');
function handle_options() {
$options = $_POST['options'];
//DO SOMETHING
wp_die(); // this is required to terminate immediately and return a proper response
}
之后,你需要你的用户选择自己的选择,这将你的数组转换成JSON和发送使用动作钩子wp_ajax_options后进行Ajax调用。事情是这样的:
var options = = JSON.stringify(yourArray);
jQuery.ajax({
type: 'POST',
url: output.ajax_url,
data : {
action : 'options',
'options': options
},
success: function(response){
//you can do something here with the response.
}
});
肯定检查这些资源更多:
https://codex.wordpress.org/AJAX_in_Plugins
https://premium.wpmudev.org/blog/using-ajax-with-wordpress/
@PeterTheLobster您好,感谢您的反馈! 我已经做了一个非常类似的事情来从JavaScript到WordPress的数组,我的问题是然后将所述数组保存到WP设置,并能够成功地检索它。 – connorb
@Connor会帮助你吗? http://wordpress.stackexchange.com/questions/61431/efficient-way-of-saving-plugin-options – PeterTheLobster
谢谢!这对我有些帮助,但是我试过这么多种不同的方式,请您概述一下我需要调用每个设置API函数的顺序,以便简单地保存某些内容?不过,我似乎这样做,它只是不工作...我是相当新的WordPress的,尽管看起来很直截了当,我努力让我的头在设置API。 – connorb