1, 'ys' => 'danger', 'msg' => __('权限不足', 'aksrt')]); } if (!check_ajax_referer('aksrt_post_navs_settings', '_wpnonce', false)) { wp_send_json(['error' => 1, 'ys' => 'danger', 'msg' => __('安全校验失败', 'aksrt')]); } $page_id = isset($_POST['page_id']) ? absint($_POST['page_id']) : 0; if ($page_id <= 0 || get_post_type($page_id) !== 'page') { wp_send_json(['error' => 1, 'ys' => 'danger', 'msg' => __('无效页面', 'aksrt')]); } $cat_ids = []; if (isset($_POST['navs_show_cat_id'])) { $raw = wp_unslash($_POST['navs_show_cat_id']); if (is_array($raw)) { $cat_ids = array_values(array_filter(array_map('intval', $raw))); } elseif (is_string($raw) && $raw !== '') { $decoded = json_decode($raw, true); if (is_array($decoded)) { $cat_ids = array_values(array_filter(array_map('intval', $decoded))); } else { $cat_ids = array_values(array_filter(array_map('intval', explode(',', $raw)))); } } } if (empty($cat_ids)) { wp_send_json(['error' => 1, 'ys' => 'danger', 'msg' => __('请选择需要显示的分类', 'aksrt')]); } if (isset($_POST['navs_page_name'])) { update_post_meta($page_id, 'navs_page_name', sanitize_text_field(wp_unslash((string) $_POST['navs_page_name']))); } if (isset($_POST['navs_page_desc'])) { update_post_meta($page_id, 'navs_page_desc', sanitize_text_field(wp_unslash((string) $_POST['navs_page_desc']))); } update_post_meta($page_id, 'navs_show_cat_id', $cat_ids); wp_send_json([ 'error' => 0, 'msg' => __('保存成功', 'aksrt'), 'reload'=> true, 'ids' => $cat_ids, ]); } }