{"id":2932,"date":"2025-06-11T09:18:05","date_gmt":"2025-06-11T01:18:05","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/wpcms\/wpdt\/2932.html"},"modified":"2025-06-11T09:18:05","modified_gmt":"2025-06-11T01:18:05","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-wordpress-%e4%b8%ad%e5%85%81%e8%ae%b8%e7%94%a8%e6%88%b7%e5%8c%bf%e5%90%8d%e5%8f%91%e8%a1%a8%e8%af%84%e8%ae%ba","status":"publish","type":"post","link":"https:\/\/www.zhaozhao123.cn\/wpcms\/post\/2932.html","title":{"rendered":"\u5982\u4f55\u5728 WordPress \u4e2d\u5141\u8bb8\u7528\u6237\u533f\u540d\u53d1\u8868\u8bc4\u8bba"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<p class=\"my-0\">Bug&#32534;&#35793;&#29422;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#35201;&#22312;WordPress&#20013;&#20801;&#35768;&#29992;&#25143;&#21311;&#21517;&#21457;&#34920;&#35780;&#35770;&#65292;&#20320;&#38656;&#35201;&#20462;&#25913;<code>functions.php<\/code>&#25991;&#20214;&#20013;&#30340;&#20195;&#30721;&#26469;&#21551;&#29992;&#21311;&#21517;&#35780;&#35770;&#21151;&#33021;&#12290;&#20197;&#19979;&#26159;&#20855;&#20307;&#27493;&#39588;&#21644;&#31034;&#20363;&#20195;&#30721;&#65306;<\/p>\n<h3>&#27493;&#39588; 1: &#25171;&#24320; <code>functions.php<\/code><\/h3>\n<p>&#39318;&#20808;&#65292;&#25214;&#21040;&#24182;&#25171;&#24320;&#20320;&#30340;WordPress&#20027;&#39064;&#30340;&#26681;&#30446;&#24405;&#19979;&#30340;<code>functions.php<\/code>&#25991;&#20214;&#12290;<\/p>\n<h3>&#27493;&#39588; 2: &#28155;&#21152;&#21311;&#21517;&#35780;&#35770;&#20195;&#30721;<\/h3>\n<p>&#22312;<code>functions.php<\/code>&#25991;&#20214;&#20013;&#28155;&#21152;&#20197;&#19979;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ Enabling anonymous commenting for your WordPress site.\nadd_filter('pre_user_comment', 'allow_anonymous_comments');\nfunction allow_anonymous_comments($comment) {\n    \/\/ Check if the comment is being posted by a user and not an anonymous user.\n    if (is_user_logged_in() &amp;&amp; !wp_is_user_trusted($comment-&gt;user_id)) {\n        $comment = array(\n            'comment_ID' =&gt; $comment-&gt;comment_ID,\n            'comment_post_ID' =&gt; $comment-&gt;comment_post_ID,\n            'comment_author' =&gt; get_current_user_email(),\n            'comment_author_url' =&gt; '',\n            'comment_author_IP' =&gt; '',\n            'comment_content' =&gt; wp_kses($comment-&gt;comment_content, wp_kses_allowed_html(5)),\n            'comment_date' =&gt; $comment-&gt;comment_date,\n            'comment_date_gmt' =&gt; $comment-&gt;comment_date_gmt,\n            'comment_type' =&gt; '',\n            'comment_parent' =&gt; $comment-&gt;comment_parent,\n            'user_id' =&gt; get_current_user_id()\n        );\n        return $comment;\n    }\n}<\/code><\/pre>\n<h3>&#27493;&#39588; 3: &#39564;&#35777;&#35774;&#32622;<\/h3>\n<p>&#20445;&#23384;&#26356;&#25913;&#21518;&#65292;&#21047;&#26032;&#20320;&#30340;&#32593;&#31449;&#20027;&#39029;&#20197;&#26597;&#30475;&#26032;&#21151;&#33021;&#26159;&#21542;&#29983;&#25928;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;&#35299;&#26512;<\/h3>\n<ul>\n<li><strong><code>add_filter('pre_user_comment', 'allow_anonymous_comments');<\/code><\/strong>: &#36825;&#34892;&#20195;&#30721;&#27880;&#20876;&#20102;&#19968;&#20010;&#36807;&#28388;&#22120;&#65292;&#29992;&#20110;&#22312;&#39044;&#22788;&#29702;&#20989;&#25968;<code>pre_user_comment<\/code>&#20013;&#36816;&#34892;&#33258;&#23450;&#20041;&#20989;&#25968;&#12290;<\/li>\n<li><strong><code>if (is_user_logged_in() &amp;&amp; !wp_is_user_trusted($comment-&gt;user_id)) { ... }<\/code>:<\/strong> &#36825;&#27573;&#20195;&#30721;&#26816;&#26597;&#24403;&#21069;&#30331;&#24405;&#29992;&#25143;&#30340;ID&#26159;&#21542;&#34987;&#20449;&#20219;&#65292;&#22914;&#26524;&#19981;&#26159;&#65292;&#21017;&#25191;&#34892;&#21311;&#21517;&#35780;&#35770;&#30340;&#36923;&#36753;&#12290;<\/li>\n<li><strong><code>$comment = array(...);<\/code><\/strong>: &#22914;&#26524;&#21311;&#21517;&#35780;&#35770;&#34987;&#20801;&#35768;&#65292;&#36825;&#20010;&#25968;&#32452;&#20250;&#34987;&#29992;&#26469;&#26367;&#25442;&#21407;&#22987;&#30340;&#35780;&#35770;&#25968;&#25454;&#12290;<\/li>\n<li><strong><code>return $comment;<\/code><\/strong>: &#36820;&#22238;&#22788;&#29702;&#21518;&#30340;&#35780;&#35770;&#25968;&#25454;&#12290;<\/li>\n<\/ul>\n<h3>&#27880;&#24847;&#20107;&#39033;<\/h3>\n<ul>\n<li>&#30830;&#20445;&#22312;&#29983;&#20135;&#29615;&#22659;&#20013;&#27979;&#35797;&#36825;&#20123;&#26356;&#25913;&#65292;&#20197;&#36991;&#20813;&#28508;&#22312;&#30340;&#23433;&#20840;&#38382;&#39064;&#12290;<\/li>\n<li>&#22312;&#24320;&#21457;&#36807;&#31243;&#20013;&#65292;&#21487;&#20197;&#20808;&#31105;&#29992;&#27492;&#21151;&#33021;&#20197;&#30830;&#20445;&#19968;&#20999;&#27491;&#24120;&#24037;&#20316;&#12290;<\/li>\n<li>&#23433;&#20840;&#24615;&#24314;&#35758;&#65306;&#19981;&#35201;&#20844;&#24320;&#29992;&#25143;&#37038;&#31665;&#25110;IP&#22320;&#22336;&#65292;&#22240;&#20026;&#36825;&#21487;&#33021;&#20250;&#23548;&#33268;&#22403;&#22334;&#37038;&#20214;&#38382;&#39064;&#12290;<\/li>\n<\/ul>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#21487;&#20197;&#25104;&#21151;&#22320;&#22312;WordPress&#20013;&#24320;&#21551;&#21311;&#21517;&#35780;&#35770;&#21151;&#33021;&#65292;&#20026;&#29992;&#25143;&#25552;&#20379;&#26356;&#22810;&#30340;&#33258;&#30001;&#24230;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;&#21069;&#30340;Bug&#35821;&#27861;&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<p class=\"my-0\">&#40657;&#26495;&#21069;&#30340;Bug&#35821;&#27861;&#35762;&#24072;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312;WordPress&#20013;&#65292;&#20801;&#35768;&#29992;&#25143;&#21311;&#21517;&#21457;&#34920;&#35780;&#35770;&#21487;&#20197;&#36890;&#36807;&#35774;&#32622;<code>WP_User_Authenticate<\/code>&#21151;&#33021;&#26469;&#23454;&#29616;&#12290;&#19979;&#38754;&#25105;&#23558;&#35814;&#32454;&#20171;&#32461;&#36825;&#20010;&#36807;&#31243;&#12290;<\/p>\n<h3>1. &#21019;&#24314;&#21311;&#21517;&#29992;&#25143;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26032;&#29992;&#25143;&#24182;&#23558;&#20854;&#28155;&#21152;&#21040;&#25968;&#25454;&#24211;&#20013;&#12290;&#20320;&#21487;&#20197;&#20351;&#29992;&#20197;&#19979;PHP&#33050;&#26412;&#26469;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#21311;&#21517;&#29992;&#25143;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#29992;&#25143;&#20449;&#24687;\n$user_name = 'anonymous';\n$login = $user_name;\n$password = wp_generate_password();\n$email = $user_name . '@example.com';\n\n\/\/ &#26032;&#29992;&#25143;&#34920;&#21333;\nif (wp_next_scheduled('wp_create_user') || !wp_is_writable('\/tmp\/')) {\n    die('Sorry, you cannot create a user in this environment.');\n}\n\n\/\/ &#21019;&#24314;&#26032;&#29992;&#25143;\nwp_new_user(array(\n    'user_login' =&gt; $login,\n    'user_pass' =&gt; $password,\n    'display_name' =&gt; $user_name,\n    'email' =&gt; $email,\n));\n\necho \"User '$login' created successfully.\";\n?&gt;<\/code><\/pre>\n<h3>2. &#28155;&#21152;&#21311;&#21517;&#26435;&#38480;<\/h3>\n<p>&#28982;&#21518;&#65292;&#20320;&#38656;&#35201;&#20026;&#26032;&#30340;&#21311;&#21517;&#29992;&#25143;&#28155;&#21152;&#36866;&#24403;&#30340;&#26435;&#38480;&#20197;&#20415;&#20182;&#20204;&#21487;&#20197;&#21457;&#24067;&#35780;&#35770;&#12290;&#36825;&#36890;&#24120;&#28041;&#21450;&#26356;&#25913;&#20182;&#20204;&#30340;&#36134;&#25143;&#31867;&#22411;&#25110;&#36523;&#20221;&#39564;&#35777;&#26041;&#27861;&#12290;&#20197;&#19979;&#26159;&#23558;&#21311;&#21517;&#29992;&#25143;&#28155;&#21152;&#21040;&#29305;&#23450;&#35282;&#33394;&#65288;&#22914;<code>admin<\/code>&#65289;&#20013;&#30340;&#20363;&#23376;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/**\n * Adds the anonymous user to the 'admin' role.\n *\/\nfunction add_anonymous_role() {\n    global $wpdb;\n\n    \/\/ &#33719;&#21462;&#24403;&#21069;&#29992;&#25143;ID\n    $current_user_id = get_current_user_id();\n\n    \/\/ &#30830;&#20445;&#24403;&#21069;&#29992;&#25143;&#19981;&#26159;&#21311;&#21517;&#29992;&#25143;\n    if ($current_user_id != '0') {\n        return;\n    }\n\n    \/\/ &#25214;&#21040;&#24403;&#21069;&#29992;&#25143;&#30340;&#29992;&#25143;&#21517;\n    $username = wp_get_current_user()-&gt;user_login;\n\n    \/\/ &#22914;&#26524;&#24403;&#21069;&#29992;&#25143;&#27809;&#26377;&#21152;&#20837;&#20219;&#20309;&#35282;&#33394;&#65292;&#21017;&#28155;&#21152;'admin'\n    if (!is_admin()) {\n        update_user_meta($current_user_id, '_role', 'admin');\n    }\n}\nadd_action('init', 'add_anonymous_role');\n\n\/**\n * Removes the anonymous user from the 'admin' role.\n *\/\nfunction remove_anonymous_role() {\n    global $wpdb;\n\n    \/\/ &#33719;&#21462;&#24403;&#21069;&#29992;&#25143;ID\n    $current_user_id = get_current_user_id();\n\n    \/\/ &#30830;&#20445;&#24403;&#21069;&#29992;&#25143;&#26159;&#21311;&#21517;&#29992;&#25143;\n    if ($current_user_id == '0') {\n        return;\n    }\n\n    \/\/ &#25214;&#21040;&#24403;&#21069;&#29992;&#25143;&#30340;&#29992;&#25143;&#21517;\n    $username = wp_get_current_user()-&gt;user_login;\n\n    \/\/ &#22914;&#26524;&#24403;&#21069;&#29992;&#25143;&#26377;'admin'&#35282;&#33394;&#65292;&#21017;&#31227;&#38500;&#23427;\n    if (in_array($username, array('admin'))) {\n        update_user_meta($current_user_id, '_role', '');\n    }\n}\nadd_action('shutdown', 'remove_anonymous_role');\n?&gt;<\/code><\/pre>\n<h3>3. &#37197;&#32622;&#35780;&#35770;&#23457;&#26680;<\/h3>\n<p>&#20026;&#20102;&#30830;&#20445;&#21311;&#21517;&#35780;&#35770;&#30340;&#23433;&#20840;&#24615;&#65292;&#38656;&#35201;&#37197;&#32622;&#35780;&#35770;&#23457;&#26680;&#12290;&#22312;WordPress&#20013;&#65292;&#21487;&#20197;&#20351;&#29992;<code>comment_status()<\/code>&#20989;&#25968;&#26469;&#26174;&#31034;&#21644;&#31649;&#29702;&#35780;&#35770;&#12290;&#20363;&#22914;&#65292;&#25105;&#20204;&#21487;&#20197;&#22312;&#20027;&#39064;&#25991;&#20214;&#20013;&#20462;&#25913;<code>comment_status.php<\/code>&#20197;&#21482;&#26174;&#31034;&#26410;&#23457;&#26680;&#30340;&#35780;&#35770;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#35774;&#32622;&#35780;&#35770;&#29366;&#24577;\ndefine('COMMENT_STATUS_APPROVED', 'approved');\ndefine('COMMENT_STATUS_PENDING', 'pending');\ndefine('COMMENT_STATUS_REJECTED', 'rejected');\ndefine('COMMENT_STATUS_AUTO_APPROVE', 'auto_approve');\ndefine('COMMENT_STATUS_AUTO_REJECT', 'auto_reject');\ndefine('COMMENT_STATUS_DEFAULT', 'default');\n\n\/\/ &#23450;&#20041;&#40664;&#35748;&#35780;&#35770;&#29366;&#24577;\ndefine('COMMENT_STATUS_DEFAULT', 'default');\n\n\/\/ &#20462;&#25913;&#35780;&#35770;&#29366;&#24577;\nfunction comment_status() {\n    switch(get_comment_status()) {\n        case COMMENT_STATUS_APPROVED:\n            echo '&lt;li class=\"status-approved\"&gt;&lt;a href=\"' . esc_url( get_comment_link( get_comment_ID(), true ) ) . '\"&gt;' . esc_html( __('Approved', 'wordpress') ) . '&lt;\/a&gt;&lt;\/li&gt;';\n            break;\n        case COMMENT_STATUS_PENDING:\n            echo '&lt;li class=\"status-pending\"&gt;&lt;a href=\"' . esc_url( get_comment_link( get_comment_ID(), true ) ) . '\"&gt;' . esc_html( __('Pending Review', 'wordpress') ) . '&lt;\/a&gt;&lt;\/li&gt;';\n            break;\n        case COMMENT_STATUS_REJECTED:\n            echo '&lt;li class=\"status-rejected\"&gt;&lt;a href=\"' . esc_url( get_comment_link( get_comment_ID(), true ) ) . '\"&gt;' . esc_html( __('Rejected', 'wordpress') ) . '&lt;\/a&gt;&lt;\/li&gt;';\n            break;\n        default:\n            echo '&lt;li class=\"status-default\"&gt;&lt;a href=\"' . esc_url( get_comment_link( get_comment_ID(), true ) ) . '\"&gt;' . esc_html( __('Default', 'wordpress') ) . '&lt;\/a&gt;&lt;\/li&gt;';\n            break;\n    }\n}\n\nadd_action('comment_status', 'comment_status');\n?&gt;<\/code><\/pre>\n<h3>&#32467;&#35770;<\/h3>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#24744;&#21487;&#20197;&#25104;&#21151;&#22320;&#22312;WordPress&#20013;&#21551;&#29992;&#21311;&#21517;&#35780;&#35770;&#21151;&#33021;&#12290;&#35831;&#27880;&#24847;&#65292;&#24744;&#21487;&#33021;&#38656;&#35201;&#26681;&#25454;&#24744;&#30340;&#20855;&#20307;&#38656;&#27714;&#23545;&#36825;&#20123;&#31034;&#20363;&#20195;&#30721;&#36827;&#34892;&#35843;&#25972;&#12290;&#21516;&#26102;&#65292;&#35831;&#30830;&#20445;&#36981;&#24490;WordPress&#30340;&#26368;&#20339;&#23454;&#36341;&#65292;&#20197;&#20445;&#35777;&#32593;&#31449;&#30340;&#23433;&#20840;&#24615;&#21644;&#29992;&#25143;&#20307;&#39564;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#35201;&#22312;WordPress&#20013;&#20801;&#35768;&#29992;&#25143;&#21311;&#21517;&#21457;&#34920;&#35780;&#35770;&#65292;&#20320;&#038;#3..<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[59],"tuisongtax":[],"class_list":["post-2932","post","type-post","status-publish","format-standard","hentry","category-wpdt","tag-pzjc"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/posts\/2932","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/comments?post=2932"}],"version-history":[{"count":0,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/posts\/2932\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/media?parent=2932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/categories?post=2932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tags?post=2932"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tuisongtax?post=2932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}