设置'; array_unshift($links, $settings_link); return $links; }, 10, 2); /** * 初始化设置项 */ if (empty(get_option('wpapi')) || empty(get_option('super_gravatar')) || empty(get_option('super_googlefonts'))) { update_option("wpapi", '1'); update_option("super_gravatar", '1'); update_option("super_googlefonts", '2'); } /** * 禁用插件时删除配置 */ register_deactivation_hook(__FILE__, function () { delete_option("wpapi"); delete_option("super_gravatar"); delete_option("super_googlefonts"); }); /** * 菜单注册 */ add_action('admin_menu', function () { add_menu_page( '本土化', '本土化', '', 'wpcy' ); add_submenu_page( 'wpcy', 'WP&China Yes!', '系统本土化', 'manage_options', 'wpcy-setting', 'wpcy_options_page_html', 0 ); }); /** * 替换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')) { return false; } if (get_option('super_gravatar') == 1) { $url = str_replace('api.wordpress.org', 'api.wp-china-yes.net', $url); } else { $url = str_replace('api.wordpress.org', 'api-original.wp-china-yes.net', $url); } $url = str_replace('downloads.wordpress.org', 'download.wp-china-yes.net', $url); return wp_remote_request($url, $r); }, 10, 3); /** * 替换仪表盘默认的“WordPress活动与新闻”为本土化版本 */ add_action('wp_dashboard_setup', function () { global $wp_meta_boxes; unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); wp_add_dashboard_widget('sponsor_widget', 'WordPress活动及新闻', function () { echo <<
EOT; wp_widget_rss_output('https://wp-china.org/archives/category/news/feed/'); echo <<
EOT; }); }); } /** * 替换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' ], '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); }); }); }