我正在开发一个分段分类器插件,因为我使用Redux来设置一个只有分拣机字段的简单选项页面。问题是,我无法以编程方式显示启用的值,我尝试了几种方法,似乎没有任何工作。
我正在使用AJAX来获取主页中所有节标签的ID,然后,我将节'ID发送到选项文件中的一个函数(Redux选项文件,sample-config.php,或者在我的情况下排序 - sections-options.php,像这样:
这是我的JS / JQ / AJAX代码:
jQuery(document).ready(function($){
var sections_ids = {action: 'save_sections_ids'};
$.get(window.location.protocol + "//" + window.location.host + "/futbol-americano", function(data) {
var sections_elements = $(data).find("section");
sections_elements.each(function(){
var section_id = $(this).attr("id");
sections_ids[section_id] = section_id;
console.log(section_id);
});
pass_ids_to_server(sections_ids);
});
function pass_ids_to_server(sections_ids){
$.ajax({
url : sorting_sections.ajax_url,
type : 'post',
data : sections_ids,
success : function( response ) {
alert(response);
}
});
}
});
这是从ajax接收数据的函数:
这是目前的形式,但我已经尝试循环$ _POST变量并返回一个数组放在'enabled'=>内$ array和其他几种方法,所以我虽然异步调用可以在函数之前加载字段并决定将数据存储在用户元数据中。
add_action( 'wp_ajax_save_sections_ids', 'save_sections_ids_sorting_sections' );
function save_sections_ids_sorting_sections() {
$user_id = get_current_user_id();
update_user_meta($user_id, "set-sections", $_POST);
}
AJAX调用有效,接收数据的函数也可以工作。数据存储在数据库的user_meta表中。但是当我这样做时:
$user_id = get_current_user_id();
$get_sections_array = get_user_meta($user_id, "set-sections", true);
//Returns false but if var_dumped inside the save_sections_ids_sorting_sections() function, it shows the array correctly in an alert box (from succes on ajax call).
$sorter_field = array(
'section_id' => 'basic',
'id' => 'opt-homepage-layout-3',
'type' => 'sorter',
'title' => 'Este es el titulo',
'desc' => 'this is the description',
'compiler' => 'true',
'options' => array(
'disabled' => array(
),
'enabled' => $get_sections_array;
));
Redux::setField($opt_name, $sorter_field );
//The Redux::setField($opt_name, $sorter_field ); works if I define $sorter_field manually before the instance.
我在选项页面中收到以下错误消息:
警告:array_merge():参数#2不是C:\ xampp \ htdocs \ futbol-americano \ wp-content \ plugins \ sorting-sections \ ReduxFramework \ ReduxCore \ inc中的数组第81行\ fields \ sorter \ field_sorter.php
警告:在C:\ xampp \ htdocs \ futbol-americano \ wp-content \ plugins \ sorting-sections \ ReduxFramework \ ReduxCore \ inc \ fields \ sorter中为foreach()提供的参数无效第103行的\ field_sorter.php
我希望有人可以帮忙解决这个问题。
提前致谢。