api.wenpai.net rejects wp_blog custom header in CORS preflight, causing Service Worker pre-fetch failures. Strip these WordPress- specific headers before redirected requests. v1.0.0 → v1.1.0
15 lines
1.5 KiB
JSON
15 lines
1.5 KiB
JSON
{
|
|
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
|
|
"landingPage": "/",
|
|
"preferredVersions": { "php": "8.3", "wp": "latest" },
|
|
"steps": [
|
|
{ "step": "setSiteLanguage", "language": "zh_CN" },
|
|
{ "step": "setSiteOptions", "options": { "blogname": "文派体验站", "timezone_string": "Asia/Shanghai", "date_format": "Y-m-d", "time_format": "H:i" } },
|
|
{
|
|
"step": "writeFile",
|
|
"path": "/wordpress/wp-content/mu-plugins/wenpai-accelerate.php",
|
|
"data": "<?php\n/**\n * Plugin Name: WenPai Accelerate (Playground)\n * Description: API redirect + CORS fix for China WASM env\n * Version: 1.1.0\n */\nadd_filter('pre_http_request', function($preempt, $args, $url) {\n $host = parse_url($url, PHP_URL_HOST);\n if (!in_array($host, ['api.wordpress.org', 'downloads.wordpress.org'])) return $preempt;\n $new_url = str_replace(['api.wordpress.org', 'downloads.wordpress.org'], ['api.wenpai.net', 'downloads.wenpai.net'], $url);\n if (isset($args['headers']) && is_array($args['headers'])) {\n unset($args['headers']['wp_blog'], $args['headers']['wp_install']);\n }\n return wp_remote_request($new_url, $args);\n}, 10, 3);\nadd_filter('get_avatar_url', function($url) {\n return str_replace(['www.gravatar.com','0.gravatar.com','1.gravatar.com','2.gravatar.com','secure.gravatar.com','cn.gravatar.com'], 'cn.cravatar.com', $url);\n}, 1);\n"
|
|
},
|
|
{ "step": "login", "username": "admin", "password": "password" }
|
|
]
|
|
}
|