আমার wp_options
বর্তমানে টেবিলটিতে একটি বহুমাত্রিক অ্যারে ( profile_element_order
) হিসাবে সঞ্চিত ডেটা রয়েছে :
a:12:{s:17:"img_base64_enable";s:1:"1";s:25:"moulding_combination_page";s:0:"";s:24:"moulding_collection_page";s:0:"";s:25:"idea_gallery_thumb_height";s:3:"200";s:24:"idea_gallery_thumb_width";s:3:"200";s:23:"collection_thumb_height";s:3:"200";s:22:"collection_thumb_width";s:3:"200";s:20:"profile_item_columns";s:1:"4";s:17:"idea_item_columns";s:1:"2";s:24:"collections_item_columns";s:1:"2";s:25:"combinations_item_columns";s:1:"4";s:21:"profile_element_order";a:5:{i:0;s:8:"Option 1";i:1;s:8:"Option 2";i:2;s:8:"Option 3";i:3;s:8:"Option 4";i:4;s:8:"Option 5";}}
আমি যেটি সম্পাদন করার চেষ্টা করছি তা হ'ল profile_element_order
বিকল্পটি আপডেট করুন (সেই বিকল্পগুলির মধ্যে)। এতদূর পর্যন্ত সবকিছু কীভাবে দেখায় তা এখানে:
function psort_save_order() {
global $mouldings_options;
$list = $mouldings_options['profile_element_order'];
$new_order = $_POST['list_items'];
$new_list = array();
// update order
foreach($new_order as $v) {
if(isset($list[$v])) {
$new_list[$v] = $list[$v];
}
}
// save the new order
update_option('profile_element_order', $new_list);
die();
}
add_action('wp_ajax_psort_update_order', 'psort_save_order');
ডেবিটি সঠিকভাবে ডিবি টেবিলে পোস্ট করছে (যেমন আমি আমার কিছু ব্যর্থ প্রচেষ্টা নতুন বিকল্প এন্ট্রি হিসাবে দেখতে পাচ্ছি mouldings_settings->profile_element_order
) যেমন - update_option()
কেবলমাত্র সেই নির্দিষ্ট বিকল্পটির বাক্য গঠন নির্ণয় করতে আমার খুব কষ্ট হচ্ছে । আমি এই জাতীয় জিনিসগুলি চেষ্টা করেছি (মনে রাখবেন `মোডিংস_সেটিংগুলি আসল বিকল্পের নাম):
mouldings_settings['profile_element_order']
$mouldings_options['profile_element_order']
profile_element_order
কিন্তু এই মুহুর্তে কোন পাশা নেই। যে কোনও পয়েন্টার প্রশংসিত হবে! ধন্যবাদ!
আপডেট আমার কাছে এখনই এটি রয়েছে - এজাক্স অ্যাকশনটি ভাল সাশ্রয় করে তবে আমি যখন প্লাগইন অপশনগুলি সংরক্ষণ করি এটি ডাটাবেসে অপশনগুলি সদৃশ করে এবং আগের মতো একই ত্রুটিটি ছুঁড়ে দেয়:
a:17:{s:17:"img_base64_enable";s:1:"1";s:25:"moulding_combination_page";s:0:"";s:24:"moulding_collection_page";s:0:"";s:25:"idea_gallery_thumb_height";s:3:"200";s:24:"idea_gallery_thumb_width";s:3:"200";s:23:"collection_thumb_height";s:3:"200";s:22:"collection_thumb_width";s:3:"200";s:20:"profile_item_columns";s:1:"4";s:17:"idea_item_columns";s:1:"2";s:24:"collections_item_columns";s:1:"2";s:25:"combinations_item_columns";s:1:"4";s:21:"profile_element_order";a:5:{i:4;s:8:"Option 5";i:0;s:8:"Option 1";i:1;s:8:"Option 2";i:3;s:8:"Option 4";i:2;s:8:"Option 3";}i:0;s:8:"Option 5";i:1;s:8:"Option 1";i:2;s:8:"Option 2";i:3;s:8:"Option 4";i:4;s:8:"Option 3";}
ফাংশন:
function psort_save_order() {
global $mouldings_options;
$list = $mouldings_options['profile_element_order'];
$new_order = $_POST['list_items'];
$new_list = array();
// update order
foreach($new_order as $v) {
if(isset($list[$v])) {
$new_list[$v] = $list[$v];
}
}
$mouldings_options['profile_element_order'] = $new_list;
$mouldings_options = array_merge($mouldings_options,$mouldings_options['profile_element_order']);
// save the new order
update_option('mouldings_settings', $mouldings_options);
die();
}
add_action('wp_ajax_psort_update_order', 'psort_save_order');