通过更换wordpress的api、download服务器来解决中国区用户无法访问的问题
Author: | 坏男孩 (profile at wordpress.org) |
WordPress version required: | 4.2 |
WordPress version tested: | 5.3.17 |
Plugin version: | 1.0.1 |
Added to WordPress repository: | 10-03-2020 |
Last updated: | 10-03-2020
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 0 |
Rated by: | 0 |
Plugin URI: | |
Total downloads: | 594 |
Click to start download |
由于未知原因,Wordpress屏蔽了来自中国的访问,这就造成了服务器在中国的wordpress无法进行正常的更新与安装主题等功能。根据网络现有资源,我“组合”出了一个插件来解决此问题。
站在巨人的肩膀上
- wp-china-yes 这个插件可以直接替换掉服务器,不过没有自定义功能。
- wp-smtp 这个插件提供了简介的配置页面。
所以我拿了1的替换服务器部分代码加上2的配置页面,组成了“DEFINE SERVER”。
原理:
插件功能通过替换Wordpress国内无法访问的域名来实现。
核心代码如下:
$url = str_ireplace( 'api.wordpress.org', $wsOptions["apiserver"], $url );
$url = str_ireplace( 'downloads.wordpress.org', $wsOptions["downserver"], $url );<h3>使用:</h3>
安装
你可以选择在wp后台安装,亦或者手动安装
-
后台安装
wordpress插件页面地址https://wordpress.org/plugins/DEFINE-SERVER/,你也可以尝试在后台搜索
DEFINE-SERVER
-
手动安装
-
下载插件
你可以在github的 releases页面获取最新版本信息,然后下载zip压缩包。
-
上传并启用
通过 WordPress 后台上传安装,或者直接将源码上传到 WordPress 插件目录
wp-content/plugins
,然后 在后台启用。(路径{WP_DIR}/wp-content/plugins/define-server/define-server.php)
-
设置
插件默认激活后会设置服务器为api.wordpress.org,downloads.wordpress.org
,也就是不会改变默认服务器。所以如果需要进一步使用插件的话,需要自行设置代理服务器。
-
我们推荐使用Cloudflare的workers自行搭建(白 女票),详情可以参照此仓库 Workers-Proxy。如果你懒得折腾,也可以使用我的测试服务器(不保证稳定性)
downloads.wordpress.org=>downloads.wordpresscdn.workers.dev
api.wordpress.org=>api.wordpresscdn.workers.dev -
当然也可以通过nginx,Apache等组件进行反代服务,不过我觉得这样就违背了本插件出现的意义。(想反代就必须要有可以访问wp的服务器,而我们可以访问还要什么反代 (ノ=Д=)ノ┻━┻。)