设置'; array_unshift($links, $settings_link); return $links; }, 10, 2); /** * 初始化设置项 */ if (empty(get_option('wpapi')) || empty(get_option('super_admin')) || empty(get_option('super_gravatar')) || empty(get_option('super_googlefonts'))) { update_option("wpapi", '2'); update_option("super_admin", '1'); update_option("super_gravatar", '1'); update_option("super_googlefonts", '2'); } /** * 禁用插件时删除配置 */ register_deactivation_hook(__FILE__, function () { delete_option("wpapi"); delete_option("super_admin"); delete_option("super_gravatar"); delete_option("super_googlefonts"); }); /** * 菜单注册 */ add_action('admin_menu', function () { add_options_page( 'WP-China-Yes', 'WP-China-Yes', 'manage_options', 'wp_china_yes', 'wpcy_options_page_html' ); }); /** * 将WordPress核心所依赖的静态文件访问链接替换为jsDelivr提供的CDN节点 */ if (get_option('super_admin') == 1) { add_action('init', function () { ob_start(function ($buffer) { $buffer = str_replace(esc_url(home_url('/wp-includes/css/')), sprintf('https://cdn.jsdelivr.net/gh/WordPress/WordPress@%s/wp-includes/css/', $GLOBALS['wp_version']), $buffer); return str_replace(esc_url(home_url('/wp-includes/js/')), sprintf('https://cdn.jsdelivr.net/gh/WordPress/WordPress@%s/wp-includes/js/', $GLOBALS['wp_version']), $buffer); }); }); } } if (is_admin()) { /** * 替换api.wordpress.org和downloads.wordpress.org为WP-China.org维护的大陆加速节点 * URL替换代码来自于我爱水煮鱼(http://blog.wpjam.com/)开发的WPJAM Basic插件 */ add_filter('pre_http_request', function ($preempt, $r, $url) { if ((!stristr($url, 'api.wordpress.org') && !stristr($url, 'downloads.wordpress.org')) || get_option('wpapi') == 3) { return false; } if (get_option('wpapi') == 1) { $url = str_replace('api.wordpress.org', 'api.wp-china-yes.net', $url); $url = str_replace('downloads.wordpress.org', 'download.wp-china-yes.net', $url); } else { $url = str_replace('api.wordpress.org', 'api.w.org.ibadboy.net', $url); $url = str_replace('downloads.wordpress.org', 'd.w.org.ibadboy.net', $url); } return wp_remote_request($url, $r); }, 10, 3); } if (!(defined('DOING_AJAX') && DOING_AJAX)) { /** * 替换G家头像为WP-China.org维护的大陆加速节点 */ if (get_option('super_gravatar') == 1) { add_filter('get_avatar', function ($avatar) { return str_replace([ 'www.gravatar.com', '0.gravatar.com', '1.gravatar.com', '2.gravatar.com', 'secure.gravatar.com', 'cn.gravatar.com' ], 'gravatar.wp-china-yes.net', $avatar); }); } /** * 替换谷歌字体为WP-China.org维护的大陆加速节点 */ if (get_option('super_googlefonts') == 1) { add_action('init', function () { ob_start(function ($buffer) { return str_replace('fonts.googleapis.com', 'googlefonts.wp-china-yes.net', $buffer); }); }); } }