发布地址'; $links[] = 'GitHub'; } return $links; } public static function action_links($links, $file) { if ($file != plugin_basename(WP_CHINA_YES_BASE_FILE)) { return $links; } $settings_link = '设置'; array_unshift($links, $settings_link); return $links; } public static function admin_menu() { add_options_page( 'WP-China-Yes', 'WP-China-Yes', 'manage_options', 'wp_china_yes', array(__CLASS__, 'settings') ); } public static function settings() { $setting_page_url = plugins_url('settings.html', __FILE__) . '?v=2.2.0'; echo << EOT; } public static function set_cookie() { if ( ! isset($_COOKIE['wp-china-yes']) && current_user_can('manage_options')) { setcookie('wp-china-yes', json_encode([ 'get_config' => wp_create_nonce('wpcy_get_config'), 'set_config' => wp_create_nonce('wpcy_set_config') ], JSON_UNESCAPED_UNICODE), time() + 1209600, COOKIEPATH, COOKIE_DOMAIN, false); } } public static function get_config() { self::success('', get_option('wp_china_yes_options')); } public static function set_config() { if ( ! array_key_exists('community', $_POST) || ( ! array_key_exists('custom_api_server', $_POST) && ! array_key_exists('custom_download_server', $_POST))) { self::error('参数错误', - 1); } self::set_wp_option( sanitize_text_field(trim($_POST['community'])), sanitize_text_field(trim($_POST['custom_api_server'])), sanitize_text_field(trim($_POST['custom_download_server'])) ); self::success(); } public static function sponsor_widget() { wp_add_dashboard_widget('sponsor_widget', '《WordPress中国区仓库源建设计划》赞助商', function () { require_once plugin_dir_path(__FILE__) . 'sponsor_widget.php'; }); } private static function success($message = '', $data = []) { header('Content-Type:application/json; charset=utf-8'); echo json_encode([ 'code' => 0, 'message' => $message, 'data' => $data ], JSON_UNESCAPED_UNICODE); exit; } private static function error($message = '', $code = - 1) { header('Content-Type:application/json; charset=utf-8'); header('Status:500'); echo json_encode([ 'code' => $code, 'message' => $message ], JSON_UNESCAPED_UNICODE); exit; } private static function set_wp_option( $community = 0, $custom_api_server = '', $custom_download_server = '' ) { $options = array(); $options['community'] = (int) $community; $options['custom_api_server'] = $custom_api_server; $options['custom_download_server'] = $custom_download_server; update_option("wp_china_yes_options", $options); } }