我很久沒有這樣做了,所以這可能不是完美的,但這裏有一個關於使用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