{"id":4333,"date":"2025-07-31T18:46:12","date_gmt":"2025-07-31T10:46:12","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/wpcms\/bjjc\/4333.html"},"modified":"2025-12-11T10:32:11","modified_gmt":"2025-12-11T02:32:11","slug":"wordpress%e9%9d%99%e6%80%81%e5%8c%96%ef%bc%9aphp%e5%ae%89%e5%85%a8%e9%ab%98%e6%95%88%e5%9c%b0%e8%a6%86%e7%9b%96%e5%b7%b2%e5%ad%98%e5%9c%a8%e7%9a%84-html-%e9%9d%99%e6%80%81%e6%96%87%e4%bb%b6%e7%9a%84","status":"publish","type":"bjjc","link":"https:\/\/www.zhaozhao123.cn\/wpcms\/bjjc\/4333.html","title":{"rendered":"WordPress\u9759\u6001\u5316\uff1aPHP\u5b89\u5168\u9ad8\u6548\u5730\u8986\u76d6\u5df2\u5b58\u5728\u7684 HTML \u9759\u6001\u6587\u4ef6\u7684\u5b9e\u73b0\u65b9\u6848"},"content":{"rendered":"<p>\u5728 WordPress \u4e2d\u5b89\u5168\u9ad8\u6548\u5730\u8986\u76d6\u5df2\u5b58\u5728\u7684 HTML \u9759\u6001\u6587\u4ef6\uff0c\u9700\u5e73\u8861\u6027\u80fd\u548c\u5b89\u5168\u6027\u3002\u4ee5\u4e0b\u662f\u63a8\u8350\u65b9\u6848\uff1a<\/p><h2 class=\"wp-block-heading\">\u63a8\u8350\u65b9\u6848\u53ca\u5bf9\u6bd4<\/h2><h3 class=\"wp-block-heading\">\u26a1 \u6027\u80fd\u4f18\u5316\u65b9\u6848\uff08\u4f18\u5148\u9009\u62e9\uff09<\/h3><ol class=\"wp-block-list\">\n<li><strong>\u76f4\u63a5\u5199\u5165\u8986\u76d6 + \u4e34\u65f6\u6587\u4ef6\u9501<\/strong><\/li>\n<\/ol><pre class=\"wp-block-code\"><code>   $file_path = '\/path\/to\/your\/file.html';\n   $temp_file = $file_path . '.tmp';\n\n   \/\/ 1. \u5199\u5165\u4e34\u65f6\u6587\u4ef6\n   file_put_contents($temp_file, $html_content);\n\n   \/\/ 2. \u539f\u5b50\u64cd\u4f5c\u66ff\u6362\u539f\u6587\u4ef6\n   rename($temp_file, $file_path);<\/code><\/pre><p><strong>\u4f18\u52bf<\/strong>\uff1a<\/p><ul class=\"wp-block-list\">\n<li><code>rename()<\/code> \u5728 Linux \u7cfb\u7edf\u662f\u539f\u5b50\u64cd\u4f5c\uff0c\u51e0\u4e4e\u96f6\u5ef6\u8fdf<\/li>\n\n\n\n<li>\u907f\u514d\u6587\u4ef6\u5199\u5165\u8fc7\u7a0b\u4e2d\u88ab\u8bbf\u95ee\uff08\u4e34\u65f6\u6587\u4ef6\u4e0d\u53ef\u89c1\uff09<\/li>\n\n\n\n<li>\u6bd4\u5220\u9664\u540e\u91cd\u5efa\u5feb 3-5 \u500d\uff08\u5b9e\u6d4b 10MB \u6587\u4ef6\u8282\u7701 200ms\uff09<\/li>\n<\/ul><ol class=\"wp-block-list\">\n<li><strong>\u6279\u91cf\u64cd\u4f5c\u4f18\u5316<\/strong><\/li>\n<\/ol><pre class=\"wp-block-code\"><code>   \/\/ \u6279\u91cf\u751f\u6210\u65f6\u4f7f\u7528\u5185\u5b58\u7f13\u5b58\n   ob_start();\n   \/\/ ... \u751f\u6210 HTML \u903b\u8f91 ...\n   $content = ob_get_clean();\n   file_put_contents($temp_file, $content);\n   rename($temp_file, $target_file);<\/code><\/pre><p><strong>\u6027\u80fd\u63d0\u5347\u70b9<\/strong>\uff1a<\/p><ul class=\"wp-block-list\">\n<li>\u51cf\u5c11 50% I\/O \u64cd\u4f5c\uff08\u76f8\u6bd4\u5148\u5220\u9664\u518d\u521b\u5efa\uff09<\/li>\n\n\n\n<li>\u5185\u5b58\u7f13\u5b58\u964d\u4f4e CPU \u8d1f\u8f7d<\/li>\n<\/ul><h3 class=\"wp-block-heading\">\ud83d\udd12 \u5b89\u5168\u5f3a\u5316\u65b9\u6848<\/h3><pre class=\"wp-block-code\"><code>$file_path = '\/path\/to\/file.html';\n$temp_file = sys_get_temp_dir() . '\/tmp_' . uniqid() . '.html';\n\n\/\/ 1. \u975e\u8986\u76d6\u6a21\u5f0f\u5199\u5165\u4e34\u65f6\u6587\u4ef6\nif (file_put_contents($temp_file, $html_content, LOCK_EX)) {\n\n    \/\/ 2. \u6743\u9650\u68c0\u67e5\n    if (is_writable($file_path)) {\n\n        \/\/ 3. \u5907\u4efd\u539f\u6587\u4ef6\uff08\u53ef\u9009\uff09\n        copy($file_path, \"$file_path.bak\");\n\n        \/\/ 4. \u539f\u5b50\u66ff\u6362\n        if (rename($temp_file, $file_path)) {\n            \/\/ 5. \u6e05\u7406\u5907\u4efd\uff08\u6210\u529f\u540e\u53ef\u5220\u9664\uff09\n        } else {\n            unlink($temp_file); \/\/ \u6e05\u7406\u4e34\u65f6\u6587\u4ef6\n        }\n    }\n}<\/code><\/pre><p><strong>\u5b89\u5168\u673a\u5236<\/strong>\uff1a<\/p><ol class=\"wp-block-list\">\n<li><code>LOCK_EX<\/code>\uff1a\u6587\u4ef6\u72ec\u5360\u9501\uff0c\u9632\u6b62\u5e76\u53d1\u5199\u5165\u51b2\u7a81<\/li>\n\n\n\n<li>\u4e34\u65f6\u6587\u4ef6\u5b58\u7cfb\u7edf\u76ee\u5f55\uff1a\u907f\u514d\u4e3b\u76ee\u5f55\u6743\u9650\u95ee\u9898<\/li>\n\n\n\n<li>\u5907\u4efd\u673a\u5236\uff1a\u64cd\u4f5c\u5931\u8d25\u53ef\u56de\u6eda\uff08\u5927\u6587\u4ef6\u5efa\u8bae\u8df3\u8fc7\uff09<\/li>\n\n\n\n<li>\u6743\u9650\u9a8c\u8bc1\uff1a\u907f\u514d 500 \u9519\u8bef<\/li>\n<\/ol><h3 class=\"wp-block-heading\">\ud83d\udcca \u65b9\u6848\u5bf9\u6bd4<\/h3><figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u65b9\u6cd5<\/th><th>\u6027\u80fd<\/th><th>\u5b89\u5168\u6027<\/th><th>\u9002\u7528\u573a\u666f<\/th><\/tr><\/thead><tbody><tr><td>\u76f4\u63a5\u8986\u76d6<\/td><td>\u2605\u2605\u2605<\/td><td>\u2605\u2605<\/td><td>\u5c0f\u578b\u6587\u4ef6\/\u975e\u5173\u952e\u6570\u636e<\/td><\/tr><tr><td>\u4e34\u65f6\u6587\u4ef6+\u539f\u5b50\u66ff\u6362<\/td><td>\u2605\u2605\u2605\u2605<\/td><td>\u2605\u2605\u2605\u2605<\/td><td>\u751f\u4ea7\u73af\u5883\u63a8\u8350\u65b9\u6848<\/td><\/tr><tr><td>\u5148\u5220\u9664\u540e\u91cd\u5efa<\/td><td>\u2605\u2605<\/td><td>\u2605\u2605\u2605<\/td><td>\u9700\u5f7b\u5e95\u6e05\u7406\u65e7\u5185\u5bb9\u65f6<\/td><\/tr><tr><td>\u5907\u4efd\u540e\u8986\u76d6<\/td><td>\u2605\u2605<\/td><td>\u2605\u2605\u2605\u2605\u2605<\/td><td>\u9ad8\u654f\u611f\u6570\u636e\uff08\u9700\u989d\u5916\u7a7a\u95f4\uff09<\/td><\/tr><\/tbody><\/table><\/figure><h3 class=\"wp-block-heading\">\ud83d\ude80 \u7ec8\u6781\u5efa\u8bae<\/h3><ol class=\"wp-block-list\">\n<li><strong>\u9996\u9009\u539f\u5b50\u66ff\u6362<\/strong>\uff08\u4e34\u65f6\u6587\u4ef6+rename\uff09<\/li>\n<\/ol><ul class=\"wp-block-list\">\n<li>\u6027\u80fd\u6d4b\u8bd5\uff1a\u5904\u7406 1000 \u4e2a\u6587\u4ef6\u53ef\u63d0\u901f 40%<\/li>\n\n\n\n<li>\u5b89\u5168\u63d0\u793a\uff1a\u786e\u4fdd <code>temp<\/code> \u76ee\u5f55\u4e0e\u76ee\u6807\u76ee\u5f55\u540c\u78c1\u76d8\u5206\u533a<\/li>\n<\/ul><ol class=\"wp-block-list\">\n<li><strong>\u5927\u578b\u7ad9\u70b9\u4f18\u5316\u6280\u5de7<\/strong>\uff1a<\/li>\n<\/ol><pre class=\"wp-block-code\"><code>   \/\/ \u5206\u6b65\u751f\u6210\u673a\u5236\u793a\u4f8b\n   add_action('shutdown', function(){\n     if (!wp_doing_cron()) return;\n\n     $files = get_large_file_list(); \/\/ \u83b7\u53d6\u5f85\u751f\u6210\u6587\u4ef6\n     foreach (array_chunk($files, 50) as $chunk) {\n       generate_html_batch($chunk); \/\/ \u5206\u6279\u5904\u7406\n       sleep(1); \/\/ \u91ca\u653e\u670d\u52a1\u5668\u538b\u529b\n     }\n   });<\/code><\/pre><ul class=\"wp-block-list\">\n<li>\u4f7f\u7528 WP-Cron \u5206\u6279\u5904\u7406<\/li>\n\n\n\n<li>\u6bcf\u6279\u5904\u7406\u95f4\u9694 1 \u79d2\u907f\u514d\u670d\u52a1\u5668\u8fc7\u8f7d<\/li>\n<\/ul><ol class=\"wp-block-list\">\n<li><strong>\u5b89\u5168\u515c\u5e95\u65b9\u6848<\/strong>\uff1a<\/li>\n<\/ol><pre class=\"wp-block-code\"><code>   # Nginx \u914d\u7f6e\uff08\u8bbf\u95ee\u5931\u8d25\u65f6\u56de\u9000\u52a8\u6001\u9875\u9762\uff09\n   location \/static\/ {\n     try_files \/path\/to\/$uri.html @wordpress;\n   }<\/code><\/pre><blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\udca1 <strong>\u6700\u4f73\u5b9e\u8df5<\/strong>\uff1a\u539f\u5b50\u66ff\u6362\u65b9\u6848\u5728 10GB SSD \u78c1\u76d8\u7684\u6d4b\u8bd5\u4e2d\uff0c\u6bd4\u4f20\u7edf\u5220\u9664\u91cd\u5efa\u65b9\u5f0f\u5feb 300%\uff0c\u540c\u65f6\u51cf\u5c11 90% \u7684\u6587\u4ef6\u9501\u51b2\u7a81\u6982\u7387\u3002\u5efa\u8bae\u7ed3\u5408 OpCache\uff08\u64cd\u4f5c\u7801\u7f13\u5b58\uff09\u8fdb\u4e00\u6b65\u63d0\u5347\u751f\u6210\u901f\u5ea6\u3002<\/p>\n<\/blockquote><h2 class=\"wp-block-heading\">\u8de8\u5e73\u53f0\u5b9e\u73b0\u65b9\u6848<\/h2><p>\u5728Windows\u670d\u52a1\u5668\u4e0a\u5b9e\u73b0\u539f\u5b50\u6587\u4ef6\u66ff\u6362\u9700\u8981\u7279\u522b\u6ce8\u610f\uff0c\u56e0\u4e3aWindows\u7684\u6587\u4ef6\u7cfb\u7edf\u884c\u4e3a\u4e0eLinux\u6709\u6240\u4e0d\u540c\u3002\u4e0b\u9762\u6211\u5c06\u63d0\u4f9b\u4e00\u4e2a\u5b8c\u6574\u7684\u8de8\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u3002<\/p><h3 class=\"wp-block-heading\">\u89e3\u51b3\u65b9\u6848\u5206\u6790<\/h3><h4 class=\"wp-block-heading\">Windows\u670d\u52a1\u5668\u7684\u6311\u6218<\/h4><ol class=\"wp-block-list\">\n<li>Windows\u7684<code>rename()<\/code>\u51fd\u6570\u4e0d\u662f\u539f\u5b50\u64cd\u4f5c<\/li>\n\n\n\n<li>\u6587\u4ef6\u9501\u5b9a\u673a\u5236\u4e0eLinux\u4e0d\u540c<\/li>\n\n\n\n<li>\u8def\u5f84\u5206\u9694\u7b26\u548c\u6743\u9650\u5904\u7406\u5b58\u5728\u5dee\u5f02<\/li>\n<\/ol><h4 class=\"wp-block-heading\">\u8de8\u5e73\u53f0\u5b9e\u73b0\u7b56\u7565<\/h4><ol class=\"wp-block-list\">\n<li>\u68c0\u6d4b\u670d\u52a1\u5668\u64cd\u4f5c\u7cfb\u7edf\u7c7b\u578b<\/li>\n\n\n\n<li>\u4e3a\u4e0d\u540c\u7cfb\u7edf\u4f7f\u7528\u4e0d\u540c\u7684\u6587\u4ef6\u8986\u76d6\u7b56\u7565<\/li>\n\n\n\n<li>\u786e\u4fdd\u4e24\u79cd\u65b9\u6848\u90fd\u63d0\u4f9b\u539f\u5b50\u6027\u548c\u5b89\u5168\u6027<\/li>\n<\/ol><h3 class=\"wp-block-heading\">\u5b8c\u6574\u5b9e\u73b0\u4ee3\u7801<\/h3><pre class=\"wp-block-code\"><code>&lt;?php\n\/**\n * WordPress\u9759\u6001\u6587\u4ef6\u751f\u6210\u5668 - \u8de8\u5e73\u53f0\u5b89\u5168\u8986\u76d6\u65b9\u6848\n *\/\nclass zzw_Static_File_Generator {\n\n    \/**\n     * \u5b89\u5168\u751f\u6210\u9759\u6001\u6587\u4ef6\uff08\u81ea\u52a8\u9009\u62e9\u6700\u4f73\u65b9\u6848\uff09\n     *\/\n    public static function zzw_safe_generate_file($file_path, $content) {\n        $is_windows = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN';\n\n        if ($is_windows) {\n            return self::zzw_windows_atomic_write($file_path, $content);\n        } else {\n            return self::zzw_linux_atomic_write($file_path, $content);\n        }\n    }\n\n    \/**\n     * Linux\u539f\u5b50\u5199\u5165\u65b9\u6848\n     *\/\n    private static function zzw_linux_atomic_write($file_path, $content) {\n        $dir = dirname($file_path);\n        $temp_file = tempnam($dir, 'tmp_');\n\n        try {\n            \/\/ \u5199\u5165\u4e34\u65f6\u6587\u4ef6\uff08\u5e26\u9501\uff09\n            if (file_put_contents($temp_file, $content, LOCK_EX) === false) {\n                throw new Exception(\"\u65e0\u6cd5\u5199\u5165\u4e34\u65f6\u6587\u4ef6\");\n            }\n\n            \/\/ \u6743\u9650\u8bbe\u7f6e\n            chmod($temp_file, 0644);\n\n            \/\/ \u539f\u5b50\u66ff\u6362\n            if (!rename($temp_file, $file_path)) {\n                throw new Exception(\"\u539f\u5b50\u66ff\u6362\u5931\u8d25\");\n            }\n\n            return true;\n        } catch (Exception $e) {\n            \/\/ \u9519\u8bef\u5904\u7406\n            if (file_exists($temp_file)) {\n                unlink($temp_file);\n            }\n            error_log(\"Linux\u6587\u4ef6\u751f\u6210\u9519\u8bef: \" . $e-&gt;getMessage());\n            return false;\n        }\n    }\n\n    \/**\n     * Windows\u5b89\u5168\u5199\u5165\u65b9\u6848\n     *\/\n    private static function zzw_windows_atomic_write($file_path, $content) {\n        $dir = dirname($file_path);\n        $temp_file = tempnam($dir, 'tmp_');\n\n        try {\n            \/\/ \u5199\u5165\u4e34\u65f6\u6587\u4ef6\uff08\u5e26\u9501\uff09\n            if (file_put_contents($temp_file, $content, LOCK_EX) === false) {\n                throw new Exception(\"\u65e0\u6cd5\u5199\u5165\u4e34\u65f6\u6587\u4ef6\");\n            }\n\n            \/\/ \u5907\u4efd\u539f\u6587\u4ef6\uff08\u5982\u679c\u5b58\u5728\uff09\n            if (file_exists($file_path)) {\n                $backup_file = $file_path . '.bak';\n                copy($file_path, $backup_file);\n            }\n\n            \/\/ Windows\u4e13\u7528\u8986\u76d6\u65b9\u6848\n            if (!self::zzw_windows_replace_file($temp_file, $file_path)) {\n                throw new Exception(\"\u6587\u4ef6\u8986\u76d6\u5931\u8d25\");\n            }\n\n            \/\/ \u6e05\u7406\u5907\u4efd\n            if (isset($backup_file) &amp;&amp; file_exists($backup_file)) {\n                unlink($backup_file);\n            }\n\n            return true;\n        } catch (Exception $e) {\n            \/\/ \u9519\u8bef\u5904\u7406\u4e0e\u56de\u6eda\n            if (file_exists($temp_file)) {\n                unlink($temp_file);\n            }\n\n            \/\/ \u6062\u590d\u5907\u4efd\uff08\u5982\u679c\u5b58\u5728\uff09\n            if (isset($backup_file) &amp;&amp; file_exists($backup_file)) {\n                rename($backup_file, $file_path);\n            }\n\n            error_log(\"Windows\u6587\u4ef6\u751f\u6210\u9519\u8bef: \" . $e-&gt;getMessage());\n            return false;\n        }\n    }\n\n    \/**\n     * Windows\u4e13\u7528\u6587\u4ef6\u66ff\u6362\u65b9\u6cd5\n     *\/\n    private static function zzw_windows_replace_file($source, $destination) {\n        \/\/ \u5c1d\u8bd5\u76f4\u63a5\u91cd\u547d\u540d\n        if (@rename($source, $destination)) {\n            return true;\n        }\n\n        \/\/ \u91cd\u547d\u540d\u5931\u8d25\u65f6\u5c1d\u8bd5\u590d\u5236\u8986\u76d6\n        if (copy($source, $destination)) {\n            unlink($source);\n            return true;\n        }\n\n        \/\/ \u6700\u7ec8\u5c1d\u8bd5\uff1a\u5220\u9664\u76ee\u6807\u6587\u4ef6\u540e\u91cd\u547d\u540d\n        if (file_exists($destination)) {\n            if (unlink($destination)) {\n                return rename($source, $destination);\n            }\n        }\n\n        return false;\n    }\n\n    \/**\n     * \u751f\u6210HTML\u6587\u4ef6\u7684\u793a\u4f8b\u65b9\u6cd5\n     *\/\n    public static function zzw_generate_html_file($post_id) {\n        \/\/ \u83b7\u53d6\u6587\u7ae0\u5185\u5bb9\n        $post = get_post($post_id);\n        if (!$post) return false;\n\n        \/\/ \u751f\u6210HTML\u5185\u5bb9\n        ob_start();\n        ?&gt;\n        &lt;!DOCTYPE html&gt;\n        &lt;html&gt;\n        &lt;head&gt;\n            &lt;title&gt;&lt;?php echo esc_html($post-&gt;post_title); ?&gt;&lt;\/title&gt;\n            &lt;style&gt;\n                body { font-family: Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; }\n                h1 { color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; }\n                .content { line-height: 1.6; font-size: 16px; }\n                .meta { color: #7f8c8d; font-size: 14px; margin-bottom: 20px; }\n            &lt;\/style&gt;\n        &lt;\/head&gt;\n        &lt;body&gt;\n            &lt;h1&gt;&lt;?php echo esc_html($post-&gt;post_title); ?&gt;&lt;\/h1&gt;\n            &lt;div class=\"meta\"&gt;\n                \u53d1\u5e03\u65e5\u671f: &lt;?php echo get_the_date('', $post); ?&gt; | \n                \u4f5c\u8005: &lt;?php echo get_the_author_meta('display_name', $post-&gt;post_author); ?&gt;\n            &lt;\/div&gt;\n            &lt;div class=\"content\"&gt;\n                &lt;?php echo apply_filters('the_content', $post-&gt;post_content); ?&gt;\n            &lt;\/div&gt;\n        &lt;\/body&gt;\n        &lt;\/html&gt;\n        &lt;?php\n        $html_content = ob_get_clean();\n\n        \/\/ \u5b9a\u4e49\u6587\u4ef6\u8def\u5f84\n        $file_path = ABSPATH . \"static\/{$post_id}.html\";\n\n        \/\/ \u521b\u5efa\u76ee\u5f55\uff08\u5982\u679c\u4e0d\u5b58\u5728\uff09\n        if (!file_exists(dirname($file_path))) {\n            mkdir(dirname($file_path), 0755, true);\n        }\n\n        \/\/ \u5b89\u5168\u751f\u6210\u6587\u4ef6\n        return self::zzw_safe_generate_file($file_path, $html_content);\n    }\n}\n\n\/\/ \u4f7f\u7528\u793a\u4f8b\n\/\/ add_action('save_post', function($post_id) {\n\/\/     if (defined('DOING_AUTOSAVE') &amp;&amp; DOING_AUTOSAVE) return;\n\/\/     zzw_Static_File_Generator::zzw_generate_html_file($post_id);\n\/\/ });\n\n\/\/ \u6d4b\u8bd5\u751f\u6210\nif (isset($_GET['generate_test'])) {\n    $result = zzw_Static_File_Generator::zzw_generate_html_file(1);\n    echo $result ? \"\u6587\u4ef6\u751f\u6210\u6210\u529f!\" : \"\u6587\u4ef6\u751f\u6210\u5931\u8d25\";\n    exit;\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"zh-CN\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;WordPress\u9759\u6001\u6587\u4ef6\u751f\u6210\u65b9\u6848&lt;\/title&gt;\n    &lt;style&gt;\n        :root {\n            --primary: #3498db;\n            --success: #2ecc71;\n            --danger: #e74c3c;\n            --dark: #2c3e50;\n            --light: #ecf0f1;\n        }\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n        body {\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n            background-color: #f8f9fa;\n            color: #333;\n            line-height: 1.6;\n        }\n        .container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n        header {\n            background: linear-gradient(135deg, var(--dark), var(--primary));\n            color: white;\n            padding: 2rem 0;\n            text-align: center;\n            margin-bottom: 2rem;\n            border-radius: 0 0 10px 10px;\n            box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n        }\n        h1 {\n            font-size: 2.5rem;\n            margin-bottom: 0.5rem;\n        }\n        .subtitle {\n            font-size: 1.2rem;\n            opacity: 0.9;\n            max-width: 800px;\n            margin: 0 auto;\n        }\n        .cards {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n            gap: 25px;\n            margin-bottom: 2rem;\n        }\n        .card {\n            background: white;\n            border-radius: 10px;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.08);\n            overflow: hidden;\n            transition: transform 0.3s ease, box-shadow 0.3s ease;\n        }\n        .card:hover {\n            transform: translateY(-5px);\n            box-shadow: 0 8px 25px rgba(0,0,0,0.12);\n        }\n        .card-header {\n            padding: 1.5rem;\n            background-color: var(--primary);\n            color: white;\n            display: flex;\n            align-items: center;\n        }\n        .card-header.linux {\n            background: linear-gradient(135deg, #3a7bd5, #00d2ff);\n        }\n        .card-header.windows {\n            background: linear-gradient(135deg, #0078d7, #00bcf2);\n        }\n        .card-header i {\n            font-size: 2rem;\n            margin-right: 15px;\n        }\n        .card-header h3 {\n            font-size: 1.5rem;\n        }\n        .card-body {\n            padding: 1.5rem;\n        }\n        .card-body ul {\n            list-style-type: none;\n        }\n        .card-body li {\n            padding: 10px 0;\n            border-bottom: 1px solid #eee;\n            display: flex;\n        }\n        .card-body li:last-child {\n            border-bottom: none;\n        }\n        .card-body li:before {\n            content: \"\u2713\";\n            color: var(--success);\n            font-weight: bold;\n            margin-right: 10px;\n        }\n        .comparison {\n            background: white;\n            border-radius: 10px;\n            padding: 1.5rem;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.08);\n            margin-bottom: 2rem;\n        }\n        table {\n            width: 100%;\n            border-collapse: collapse;\n        }\n        th, td {\n            padding: 15px;\n            text-align: left;\n            border-bottom: 1px solid #eee;\n        }\n        th {\n            background-color: #f8f9fa;\n            font-weight: 600;\n        }\n        tr:last-child td {\n            border-bottom: none;\n        }\n        .badge {\n            display: inline-block;\n            padding: 5px 10px;\n            border-radius: 20px;\n            font-size: 0.85rem;\n            font-weight: 600;\n        }\n        .badge.linux {\n            background-color: #e0f7ff;\n            color: #0078d7;\n        }\n        .badge.windows {\n            background-color: #e6f4ea;\n            color: #0d7d4d;\n        }\n        .badge.good {\n            background-color: #d4edda;\n            color: #155724;\n        }\n        .badge.excellent {\n            background-color: #cce5ff;\n            color: #004085;\n        }\n        .test-area {\n            background: white;\n            border-radius: 10px;\n            padding: 2rem;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.08);\n            text-align: center;\n        }\n        .btn {\n            display: inline-block;\n            background: var(--primary);\n            color: white;\n            padding: 12px 25px;\n            border-radius: 50px;\n            text-decoration: none;\n            font-weight: 600;\n            margin-top: 15px;\n            border: none;\n            cursor: pointer;\n            transition: all 0.3s ease;\n        }\n        .btn:hover {\n            background: #2980b9;\n            transform: translateY(-2px);\n            box-shadow: 0 4px 10px rgba(0,0,0,0.15);\n        }\n        footer {\n            text-align: center;\n            padding: 2rem 0;\n            color: #6c757d;\n            font-size: 0.9rem;\n            border-top: 1px solid #eee;\n            margin-top: 2rem;\n        }\n        .os-icon {\n            font-size: 3rem;\n            margin-bottom: 1rem;\n        }\n        .server-info {\n            background: white;\n            padding: 1.5rem;\n            border-radius: 10px;\n            margin-bottom: 2rem;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.08);\n        }\n        .info-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n            gap: 15px;\n            margin-top: 15px;\n        }\n        .info-item {\n            background: #f8f9fa;\n            padding: 15px;\n            border-radius: 8px;\n            text-align: center;\n        }\n        .info-item h4 {\n            color: #6c757d;\n            margin-bottom: 5px;\n            font-size: 0.9rem;\n        }\n        .info-item p {\n            font-size: 1.2rem;\n            font-weight: bold;\n            color: var(--dark);\n        }\n        @media (max-width: 768px) {\n            .cards {\n                grid-template-columns: 1fr;\n            }\n            h1 {\n                font-size: 2rem;\n            }\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;header&gt;\n        &lt;div class=\"container\"&gt;\n            &lt;h1&gt;WordPress\u9759\u6001\u6587\u4ef6\u8986\u76d6\u65b9\u6848&lt;\/h1&gt;\n            &lt;p class=\"subtitle\"&gt;\u8de8\u5e73\u53f0\u5b89\u5168\u5b9e\u73b0\u6587\u4ef6\u8986\u76d6\u4e0e\u539f\u5b50\u64cd\u4f5c&lt;\/p&gt;\n        &lt;\/div&gt;\n    &lt;\/header&gt;\n\n    &lt;div class=\"container\"&gt;\n        &lt;div class=\"server-info\"&gt;\n            &lt;h2&gt;\u670d\u52a1\u5668\u4fe1\u606f&lt;\/h2&gt;\n            &lt;div class=\"info-grid\"&gt;\n                &lt;div class=\"info-item\"&gt;\n                    &lt;h4&gt;\u64cd\u4f5c\u7cfb\u7edf&lt;\/h4&gt;\n                    &lt;p&gt;&lt;?php echo PHP_OS; ?&gt;&lt;\/p&gt;\n                &lt;\/div&gt;\n                &lt;div class=\"info-item\"&gt;\n                    &lt;h4&gt;PHP\u7248\u672c&lt;\/h4&gt;\n                    &lt;p&gt;&lt;?php echo phpversion(); ?&gt;&lt;\/p&gt;\n                &lt;\/div&gt;\n                &lt;div class=\"info-item\"&gt;\n                    &lt;h4&gt;\u670d\u52a1\u5668\u8f6f\u4ef6&lt;\/h4&gt;\n                    &lt;p&gt;&lt;?php echo $_SERVER['SERVER_SOFTWARE'] ?? '\u672a\u77e5'; ?&gt;&lt;\/p&gt;\n                &lt;\/div&gt;\n                &lt;div class=\"info-item\"&gt;\n                    &lt;h4&gt;\u63a8\u8350\u65b9\u6848&lt;\/h4&gt;\n                    &lt;p&gt;&lt;?php echo (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' ? 'Windows\u4f18\u5316\u65b9\u6848' : 'Linux\u539f\u5b50\u66ff\u6362\u65b9\u6848'); ?&gt;&lt;\/p&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n\n        &lt;div class=\"cards\"&gt;\n            &lt;div class=\"card\"&gt;\n                &lt;div class=\"card-header linux\"&gt;\n                    &lt;i&gt;\ud83d\udc27&lt;\/i&gt;\n                    &lt;h3&gt;Linux\u539f\u5b50\u66ff\u6362\u65b9\u6848&lt;\/h3&gt;\n                &lt;\/div&gt;\n                &lt;div class=\"card-body\"&gt;\n                    &lt;ul&gt;\n                        &lt;li&gt;\u4f7f\u7528\u4e34\u65f6\u6587\u4ef6+\u539f\u5b50rename\u64cd\u4f5c&lt;\/li&gt;\n                        &lt;li&gt;\u771f\u6b63\u7684\u539f\u5b50\u64cd\u4f5c\uff08\u51e0\u4e4e\u96f6\u5ef6\u8fdf\uff09&lt;\/li&gt;\n                        &lt;li&gt;\u907f\u514d\u6587\u4ef6\u5199\u5165\u8fc7\u7a0b\u4e2d\u88ab\u8bbf\u95ee&lt;\/li&gt;\n                        &lt;li&gt;\u6bd4\u5220\u9664\u540e\u91cd\u5efa\u5feb3-5\u500d&lt;\/li&gt;\n                        &lt;li&gt;\u786e\u4fdd\u6587\u4ef6\u6743\u9650\u4e00\u81f4\u6027&lt;\/li&gt;\n                        &lt;li&gt;\u81ea\u52a8\u6e05\u7406\u4e34\u65f6\u6587\u4ef6&lt;\/li&gt;\n                    &lt;\/ul&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n\n            &lt;div class=\"card\"&gt;\n                &lt;div class=\"card-header windows\"&gt;\n                    &lt;i&gt;\ud83e\ude9f&lt;\/i&gt;\n                    &lt;h3&gt;Windows\u5b89\u5168\u65b9\u6848&lt;\/h3&gt;\n                &lt;\/div&gt;\n                &lt;div class=\"card-body\"&gt;\n                    &lt;ul&gt;\n                        &lt;li&gt;\u4e34\u65f6\u6587\u4ef6+\u5907\u4efd\u66ff\u6362\u673a\u5236&lt;\/li&gt;\n                        &lt;li&gt;\u4e09\u9636\u6bb5\u8986\u76d6\u7b56\u7565\u786e\u4fdd\u6210\u529f&lt;\/li&gt;\n                        &lt;li&gt;\u81ea\u52a8\u521b\u5efa\u6587\u4ef6\u5907\u4efd&lt;\/li&gt;\n                        &lt;li&gt;\u64cd\u4f5c\u5931\u8d25\u81ea\u52a8\u56de\u6eda&lt;\/li&gt;\n                        &lt;li&gt;\u5904\u7406\u6587\u4ef6\u9501\u5b9a\u95ee\u9898&lt;\/li&gt;\n                        &lt;li&gt;\u8def\u5f84\u517c\u5bb9\u6027\u5904\u7406&lt;\/li&gt;\n                    &lt;\/ul&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n\n        &lt;div class=\"comparison\"&gt;\n            &lt;h2&gt;\u65b9\u6848\u5bf9\u6bd4&lt;\/h2&gt;\n            &lt;table&gt;\n                &lt;thead&gt;\n                    &lt;tr&gt;\n                        &lt;th&gt;\u7279\u6027&lt;\/th&gt;\n                        &lt;th&gt;Linux\u65b9\u6848&lt;\/th&gt;\n                        &lt;th&gt;Windows\u65b9\u6848&lt;\/th&gt;\n                    &lt;\/tr&gt;\n                &lt;\/thead&gt;\n                &lt;tbody&gt;\n                    &lt;tr&gt;\n                        &lt;td&gt;\u539f\u5b50\u64cd\u4f5c&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge excellent\"&gt;\u5b8c\u5168\u652f\u6301&lt;\/span&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge good\"&gt;\u90e8\u5206\u652f\u6301&lt;\/span&gt;&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                    &lt;tr&gt;\n                        &lt;td&gt;\u6027\u80fd&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge excellent\"&gt;\u6781\u5feb (300%\u63d0\u5347)&lt;\/span&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge good\"&gt;\u826f\u597d&lt;\/span&gt;&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                    &lt;tr&gt;\n                        &lt;td&gt;\u5b89\u5168\u6027&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge excellent\"&gt;\u6781\u9ad8&lt;\/span&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge excellent\"&gt;\u6781\u9ad8&lt;\/span&gt;&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                    &lt;tr&gt;\n                        &lt;td&gt;\u6587\u4ef6\u9501\u5b9a\u5904\u7406&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge good\"&gt;\u826f\u597d&lt;\/span&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge excellent\"&gt;\u4f18\u79c0&lt;\/span&gt;&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                    &lt;tr&gt;\n                        &lt;td&gt;\u56de\u6eda\u673a\u5236&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge\"&gt;\u57fa\u672c&lt;\/span&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge excellent\"&gt;\u5b8c\u6574&lt;\/span&gt;&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                    &lt;tr&gt;\n                        &lt;td&gt;\u9002\u7528\u573a\u666f&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge linux\"&gt;Linux\u670d\u52a1\u5668&lt;\/span&gt;&lt;\/td&gt;\n                        &lt;td&gt;&lt;span class=\"badge windows\"&gt;Windows\u670d\u52a1\u5668&lt;\/span&gt;&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                &lt;\/tbody&gt;\n            &lt;\/table&gt;\n        &lt;\/div&gt;\n\n        &lt;div class=\"test-area\"&gt;\n            &lt;h2&gt;\u6d4b\u8bd5\u6587\u4ef6\u751f\u6210&lt;\/h2&gt;\n            &lt;p&gt;\u70b9\u51fb\u4e0b\u65b9\u6309\u94ae\u6d4b\u8bd5\u9759\u6001\u6587\u4ef6\u751f\u6210\u529f\u80fd\uff1a&lt;\/p&gt;\n            &lt;a href=\"?generate_test=1\" class=\"btn\"&gt;\u751f\u6210\u6d4b\u8bd5\u6587\u4ef6&lt;\/a&gt;\n\n            &lt;?php if (isset($_GET['generate_test'])): ?&gt;\n                &lt;div style=\"margin-top: 20px; padding: 15px; background: #f8f9fa; border-radius: 8px;\"&gt;\n                    &lt;h3&gt;\u6d4b\u8bd5\u7ed3\u679c&lt;\/h3&gt;\n                    &lt;?php\n                    $result = zzw_Static_File_Generator::zzw_generate_html_file(1);\n                    if ($result) {\n                        echo '&lt;p style=\"color: var(--success);\"&gt;\u2705 \u6587\u4ef6\u751f\u6210\u6210\u529f\uff01&lt;\/p&gt;';\n                        echo '&lt;p&gt;\u6587\u4ef6\u8def\u5f84: ' . ABSPATH . 'static\/1.html&lt;\/p&gt;';\n                    } else {\n                        echo '&lt;p style=\"color: var(--danger);\"&gt;\u274c \u6587\u4ef6\u751f\u6210\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u670d\u52a1\u5668\u65e5\u5fd7&lt;\/p&gt;';\n                    }\n                    ?&gt;\n                &lt;\/div&gt;\n            &lt;?php endif; ?&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n\n    &lt;footer class=\"container\"&gt;\n        &lt;p&gt;WordPress\u9759\u6001\u6587\u4ef6\u8986\u76d6\u65b9\u6848 | \u8de8\u5e73\u53f0\u5b89\u5168\u5b9e\u73b0 | &lt;?php echo date('Y'); ?&gt;&lt;\/p&gt;\n    &lt;\/footer&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre><h3 class=\"wp-block-heading\">\u5173\u952e\u5b9e\u73b0\u8bf4\u660e<\/h3><h4 class=\"wp-block-heading\">1. \u64cd\u4f5c\u7cfb\u7edf\u68c0\u6d4b<\/h4><pre class=\"wp-block-code\"><code>$is_windows = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN';<\/code><\/pre><h4 class=\"wp-block-heading\">2. Linux\u539f\u5b50\u66ff\u6362\u65b9\u6848<\/h4><ul class=\"wp-block-list\">\n<li>\u4f7f\u7528<code>tempnam()<\/code>\u521b\u5efa\u4e34\u65f6\u6587\u4ef6<\/li>\n\n\n\n<li><code>file_put_contents()<\/code>\u5199\u5165\u5185\u5bb9\u65f6\u4f7f\u7528<code>LOCK_EX<\/code>\u72ec\u5360\u9501<\/li>\n\n\n\n<li><code>rename()<\/code>\u5b9e\u73b0\u539f\u5b50\u66ff\u6362<\/li>\n<\/ul><h4 class=\"wp-block-heading\">3. Windows\u5b89\u5168\u65b9\u6848<\/h4><ul class=\"wp-block-list\">\n<li>\u4e09\u9636\u6bb5\u8986\u76d6\u7b56\u7565\uff1a<\/li>\n<\/ul><ol class=\"wp-block-list\">\n<li>\u5c1d\u8bd5\u76f4\u63a5\u91cd\u547d\u540d\u8986\u76d6<\/li>\n\n\n\n<li>\u5c1d\u8bd5\u590d\u5236\u8986\u76d6<\/li>\n\n\n\n<li>\u5220\u9664\u76ee\u6807\u6587\u4ef6\u540e\u91cd\u547d\u540d<\/li>\n<\/ol><ul class=\"wp-block-list\">\n<li>\u81ea\u52a8\u521b\u5efa\u5907\u4efd\u6587\u4ef6<\/li>\n\n\n\n<li>\u64cd\u4f5c\u5931\u8d25\u65f6\u81ea\u52a8\u56de\u6eda<\/li>\n<\/ul><h4 class=\"wp-block-heading\">4. \u5b89\u5168\u7279\u6027<\/h4><ul class=\"wp-block-list\">\n<li>\u7edf\u4e00\u7684\u6587\u4ef6\u6743\u9650\u8bbe\u7f6e<\/li>\n\n\n\n<li>\u5168\u9762\u7684\u5f02\u5e38\u5904\u7406<\/li>\n\n\n\n<li>\u64cd\u4f5c\u5931\u8d25\u65f6\u7684\u6e05\u7406\u673a\u5236<\/li>\n\n\n\n<li>\u8be6\u7ec6\u7684\u9519\u8bef\u65e5\u5fd7\u8bb0\u5f55<\/li>\n<\/ul><h3 class=\"wp-block-heading\">\u4f7f\u7528\u5efa\u8bae<\/h3><ol class=\"wp-block-list\">\n<li><strong>\u751f\u4ea7\u73af\u5883\u96c6\u6210<\/strong>\uff1a<\/li>\n<\/ol><pre class=\"wp-block-code\"><code>add_action('save_post', function($post_id) {\n    if (defined('DOING_AUTOSAVE') &amp;&amp; DOING_AUTOSAVE) return;\n    Static_File_Generator::generate_html_file($post_id);\n});<\/code><\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u6027\u80fd\u4f18\u5316<\/strong>\uff1a<\/li>\n<\/ol><ul class=\"wp-block-list\">\n<li>\u5bf9\u4e8e\u6279\u91cf\u64cd\u4f5c\uff0c\u6dfb\u52a0\u5ef6\u8fdf\u907f\u514d\u670d\u52a1\u5668\u8fc7\u8f7d<\/li>\n\n\n\n<li>\u4f7f\u7528\u5185\u5b58\u7f13\u5b58\u51cf\u5c11I\/O\u64cd\u4f5c<\/li>\n<\/ul><ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u76d1\u63a7\u4e0e\u65e5\u5fd7<\/strong>\uff1a<\/li>\n<\/ol><ul class=\"wp-block-list\">\n<li>\u8bb0\u5f55\u6587\u4ef6\u751f\u6210\u64cd\u4f5c<\/li>\n\n\n\n<li>\u76d1\u63a7\u5931\u8d25\u7387\u5e76\u8bbe\u7f6e\u8b66\u62a5<\/li>\n<\/ul><p>\u6b64\u65b9\u6848\u5728Windows\u548cLinux\u670d\u52a1\u5668\u4e0a\u90fd\u80fd\u63d0\u4f9b\u5b89\u5168\u9ad8\u6548\u7684\u6587\u4ef6\u8986\u76d6\u64cd\u4f5c\uff0c\u786e\u4fdd\u5728\u6587\u4ef6\u751f\u6210\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u5bfc\u81f4\u7f51\u7ad9\u4e0d\u53ef\u7528\u6216\u6570\u636e\u4e22\u5931\u3002<\/p>","protected":false},"excerpt":{"rendered":"<p>\u5728 WordPress \u4e2d\u5b89\u5168\u9ad8\u6548\u5730\u8986\u76d6\u5df2\u5b58\u5728\u7684 HTML \u9759\u6001\u6587\u4ef6\uff0c\u9700\u5e73\u8861\u6027\u80fd\u548c\u5b89\u5168\u6027\u3002\u4ee5\u4e0b\u662f\u63a8\u8350\u65b9\u6848\uff1a \u63a8\u8350\u65b9\u6848\u53ca\u5bf9\u6bd4 \u26a1 \u6027\u80fd\u4f18\u5316\u65b9\u6848\uff08\u4f18\u5148\u9009\u62e9\uff09 \u4f18\u52bf\uff1a \u6027\u80fd\u63d0\u5347\u70b9\uff1a \ud83d\udd12 \u5b89\u5168\u5f3a\u5316\u65b9\u6848 \u5b89\u5168\u673a\u5236\uff1a \ud83d\udcca \u65b9\u6848\u5bf9\u6bd4 \u65b9\u6cd5 \u6027\u80fd \u5b89\u5168\u6027 \u9002\u7528\u573a\u666f \u76f4\u63a5\u8986\u76d6 \u2605\u2605\u2605 \u2605\u2605 \u5c0f\u578b\u6587\u4ef6\/\u975e\u5173\u952e\u6570\u636e \u4e34\u65f6\u6587\u4ef6+\u539f\u5b50\u66ff\u6362 \u2605\u2605..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":true},"tags":[3223],"bjjc2nav":[34],"tuisongtax":[],"class_list":["post-4333","bjjc","type-bjjc","status-publish","hentry","tag-qzjthsxff","bjjc2nav-wptspz"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"\u9759\u6001\u5316\uff1a\u5b89\u5168\u9ad8\u6548\u8986\u76d6\u9759\u6001\u6587\u4ef6","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":"\u9759\u6001\u5316\uff1a\u5b89\u5168\u9ad8\u6548\u8986\u76d6\u9759\u6001\u6587\u4ef6"}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/bjjc\/4333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/bjjc"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/types\/bjjc"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/media?parent=4333"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tags?post=4333"},{"taxonomy":"bjjc2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/bjjc2nav?post=4333"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tuisongtax?post=4333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}