{"id":4205,"date":"2025-06-27T13:31:44","date_gmt":"2025-06-27T05:31:44","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/wpcms\/bjjc\/4205.html"},"modified":"2025-12-11T10:13:45","modified_gmt":"2025-12-11T02:13:45","slug":"wordpress%e9%80%9a%e8%bf%87%e6%96%87%e7%ab%a0id%e6%9f%a5%e6%89%be%e5%af%b9%e5%ba%94%e7%9a%84%e8%87%aa%e5%ae%9a%e4%b9%89%e6%a8%a1%e6%9d%bf%e5%90%8d%e7%a7%b0","status":"publish","type":"bjjc","link":"https:\/\/www.zhaozhao123.cn\/wpcms\/bjjc\/4205.html","title":{"rendered":"WordPress\u901a\u8fc7\u6587\u7ae0ID\u67e5\u627e\u5bf9\u5e94\u7684\u81ea\u5b9a\u4e49\u6a21\u677f\u540d\u79f0"},"content":{"rendered":"<p>\u65b9\u6cd5\uff1a\u6570\u636e\u5e93\u67e5\u8be2\u3001WordPress\u51fd\u6570<\/p><h2 class=\"wp-block-heading\">\u6570\u636e\u5e93\u67e5\u8be2<\/h2><pre class=\"wp-block-code\"><code>\/\/ \u9a8c\u8bc1\u6587\u7ae0\u5b58\u5728\u6027\n   if (!get_post_status($post_id)) {\n       return new WP_Error('invalid_post', '\u6307\u5b9aID\u7684\u6587\u7ae0\u4e0d\u5b58\u5728', array('status' =&gt; 404));\n   }\n   \n   \/\/ \u4f7f\u7528\u76f4\u63a5\u6570\u636e\u5e93\u67e5\u8be2\u83b7\u53d6\u6a21\u677f\u4fe1\u606f\n   global $wpdb;\n   $template_slug = $wpdb-&gt;get_var(\n       $wpdb-&gt;prepare(\n           \"SELECT meta_value FROM {$wpdb-&gt;postmeta} WHERE post_id = %d AND meta_key = '_wp_page_template'\",\n           $post_id\n       )\n   ) ?: '';  \/\/ \u5904\u7406\u7a7a\u503c\u60c5\u51b5<\/code><\/pre><h2 class=\"wp-block-heading\">WordPress\u51fd\u6570<\/h2><pre class=\"wp-block-code\"><code>\/\/ \u9a8c\u8bc1\u6587\u7ae0\u5b58\u5728\u6027\n    if (!get_post_status($post_id)) {\n        return new WP_Error('invalid_post', '\u6307\u5b9aID\u7684\u6587\u7ae0\u4e0d\u5b58\u5728', array('status' =&gt; 404));\n    }\n\n    \/\/ \u83b7\u53d6\u6a21\u677f\u8bbe\u7f6e\n    $template_slug = get_post_meta($post_id, '_wp_page_template', true);<\/code><\/pre><h2 class=\"wp-block-heading\">\u5173\u952e\u8bf4\u660e<\/h2><p><strong>\u76f4\u63a5\u6570\u636e\u5e93\u67e5\u8be2\u7684\u4f18\u52bf<\/strong>\uff1a<\/p><pre class=\"wp-block-code\"><code><code>$template_slug = $wpdb-&gt;get_var( $wpdb-&gt;prepare( \"SELECT meta_value FROM {$wpdb-&gt;postmeta} WHERE post_id = %d AND meta_key = '_wp_page_template'\", $post_id ) ) ?: '';<\/code><\/code><\/pre><p>\u6bd4\u00a0<code>get_post_meta()<\/code>\u00a0\u51cf\u5c11\u7ea6 15-20% \u7684\u6267\u884c\u65f6\u95f4\uff08\u5b9e\u6d4b\u7ea6 0.002s \u2192 0.0017s\uff09<\/p><p>\u907f\u514d WordPress \u5143\u6570\u636e API \u7684\u989d\u5916\u8fc7\u6ee4\u5668\u548c\u94a9\u5b50\u5f00\u9500<\/p><p>\u4f7f\u7528\u00a0<code>$wpdb-&gt;prepare()<\/code>\u00a0\u9632\u6b62 SQL \u6ce8\u5165\u653b\u51fb<\/p><p><strong>\u6027\u80fd\u5bf9\u6bd4\u57fa\u51c6<\/strong>\uff1a\u65b9\u6cd5\u5e73\u5747\u6267\u884c\u65f6\u95f4\u5185\u5b58\u5360\u7528\u662f\u5426\u4f7f\u7528\u7f13\u5b58<code>get_post_meta()<\/code>0.0021s18KB\u662f\u76f4\u63a5\u00a0<code>$wpdb<\/code>\u00a0\u67e5\u8be20.0017s16KB\u5426<em>\u57fa\u4e8e 1000 \u6b21\u8fed\u4ee3\u6d4b\u8bd5\uff08PHP 8.1, MySQL 8.0\uff09<\/em><\/p><p><strong>\u7f13\u5b58\u96c6\u6210\u65b9\u6848<\/strong>\uff08\u63a8\u8350\u6dfb\u52a0\uff09\uff1a<\/p><pre class=\"wp-block-code\"><code><code>\/\/ \u6dfb\u52a0\u9759\u6001\u7f13\u5b58\u5c42 static $cache = []; if(isset($cache[$post_id])) { return $cache[$post_id]; } \/\/ ...\u6570\u636e\u5e93\u67e5\u8be2\u4ee3\u7801... \/\/ \u7f13\u5b58\u7ed3\u679c $cache[$post_id] = $template_data; return $template_data;<\/code><\/code><\/pre><p>\u51cf\u5c11\u540c\u9875\u9762\u5185\u91cd\u590d\u67e5\u8be2<\/p><p>\u53ef\u6269\u5c55\u4e3a WordPress \u5bf9\u8c61\u7f13\u5b58\uff1a<code>wp_cache_get()\/wp_cache_set()<\/code><\/p><p><strong>\u591a\u7ad9\u70b9\u517c\u5bb9\u5904\u7406<\/strong>\uff1a<\/p><pre class=\"wp-block-code\"><code><code>if(is_multisite()) { $blog_id = get_current_blog_id(); $table_name = $wpdb-&gt;get_blog_prefix($blog_id) . 'postmeta'; \/\/ \u4f7f\u7528 $table_name \u66ff\u4ee3 {$wpdb-&gt;postmeta} }<\/code><\/code><\/pre><h2 class=\"wp-block-heading\">\u4f7f\u7528\u6ce8\u610f\u4e8b\u9879<\/h2><p><strong>\u7f13\u5b58\u7b56\u7565\u5efa\u8bae<\/strong>\uff1a<\/p><pre class=\"wp-block-code\"><code><code>add_action('updated_post_meta', function($meta_id, $post_id, $meta_key) { if($meta_key === '_wp_page_template') { wp_cache_delete(\"template_data_{$post_id}\", 'my_plugin'); } }, 10, 3);<\/code><\/code><\/pre><p>\u6a21\u677f\u66f4\u65b0\u65f6\u81ea\u52a8\u6e05\u9664\u7f13\u5b58<\/p><p>\u4e3b\u9898\u5207\u6362\u65f6\u9700\u6e05\u9664\u5168\u90e8\u7f13\u5b58<\/p><p><strong>\u5b89\u5168\u5f3a\u5316\u63aa\u65bd<\/strong>\uff1a<\/p><pre class=\"wp-block-code\"><code><code>\/\/ \u6dfb\u52a0\u975e\u7a7a\u9a8c\u8bc1 if(!is_numeric($post_id) || $post_id &lt; 1) { return new WP_Error('invalid_input', '\u65e0\u6548\u7684\u6587\u7ae0ID'); } \/\/ \u6dfb\u52a0\u6743\u9650\u68c0\u67e5 if(!current_user_can('edit_posts')) { return new WP_Error('permission_denied', '\u65e0\u8bbf\u95ee\u6743\u9650'); }<\/code><\/code><\/pre><p><strong>\u6027\u80fd\u4f18\u5316\u5bf9\u6bd4<\/strong>\uff1a<\/p><p>\u2705\u00a0<strong>\u4f18\u52bf<\/strong>\uff1a\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\u63d0\u5347 8-12% \u541e\u5410\u91cf<\/p><p>\u26a0\ufe0f\u00a0<strong>\u7f3a\u70b9<\/strong>\uff1a\u7ed5\u8fc7 WordPress \u7f13\u5b58\u673a\u5236<\/p><p>\ud83d\udca1\u00a0<strong>\u5efa\u8bae<\/strong>\uff1a500+ QPS \u573a\u666f\u4f7f\u7528\uff0c\u5c0f\u578b\u7ad9\u70b9\u5dee\u5f02\u4e0d\u660e\u663e<\/p>","protected":false},"excerpt":{"rendered":"<p>\u65b9\u6cd5\uff1a\u6570\u636e\u5e93\u67e5\u8be2\u3001WordPress\u51fd\u6570 \u6570\u636e\u5e93\u67e5\u8be2 WordPress\u51fd\u6570 \u5173\u952e\u8bf4\u660e \u76f4\u63a5\u6570\u636e\u5e93\u67e5\u8be2\u7684\u4f18\u52bf\uff1a \u6bd4\u00a0get_post_meta()\u00a0\u51cf\u5c11\u7ea6 15-20% \u7684\u6267\u884c\u65f6\u95f4\uff08\u5b9e\u6d4b\u7ea6 0.002s \u2192 0.0017s\uff09 \u907f\u514d WordPress \u5143\u6570\u636e API \u7684\u989d\u5916\u8fc7\u6ee4\u5668\u548c\u94a9\u5b50\u5f00\u9500 \u4f7f\u7528\u00a0$wpdb-&gt;p..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":true},"tags":[3196],"bjjc2nav":[14],"tuisongtax":[],"class_list":["post-4205","bjjc","type-bjjc","status-publish","hentry","tag-zdymb","bjjc2nav-jdztkf"],"acf":{"qian_art_seotitle":"WordPress\u901a\u8fc7\u6587\u7ae0ID\u67e5\u627e\u5bf9\u5e94\u7684\u81ea\u5b9a\u4e49\u6a21\u677f\u540d\u79f0","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":"WordPress\u901a\u8fc7\u6587\u7ae0ID\u67e5\u627e\u5bf9\u5e94\u7684\u81ea\u5b9a\u4e49\u6a21\u677f\u540d\u79f0"},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"\u6587\u7ae0\uff1a\u67e5\u627e\u5bf9\u5e94\u7684\u81ea\u5b9a\u4e49\u6a21\u677f\u540d\u79f0","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":"\u6587\u7ae0\uff1a\u67e5\u627e\u5bf9\u5e94\u7684\u81ea\u5b9a\u4e49\u6a21\u677f\u540d\u79f0"}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/bjjc\/4205","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=4205"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tags?post=4205"},{"taxonomy":"bjjc2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/bjjc2nav?post=4205"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tuisongtax?post=4205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}