{"id":1195,"date":"2025-06-10T03:58:30","date_gmt":"2025-06-09T19:58:30","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/wpcms\/wpdt\/1195.html"},"modified":"2025-06-10T03:58:30","modified_gmt":"2025-06-09T19:58:30","slug":"%e5%9c%a8-wordpress-%e4%b8%ad%e9%98%b2%e6%ad%a2%e5%9b%be%e7%89%87%e7%9b%97%e7%aa%83%e7%9a%84%e5%9b%9b%e7%a7%8d%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.zhaozhao123.cn\/wpcms\/post\/1195.html","title":{"rendered":"\u5728 WordPress \u4e2d\u9632\u6b62\u56fe\u7247\u76d7\u7a83\u7684\u56db\u79cd\u65b9\u6cd5"},"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<h2 class=\"wp-block-heading my-0\">&#20889; Bug&#24037;&#31243;&#24072;&#65306;<\/h2>\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 &#32593;&#31449;&#19978;&#20445;&#25252;&#22270;&#29255;&#19981;&#34987;&#30423;&#29992;&#26159;&#19968;&#39033;&#37325;&#35201;&#30340;&#32593;&#32476;&#23433;&#20840;&#25514;&#26045;&#12290;&#20197;&#19979;&#26159;&#20960;&#31181;&#24120;&#35265;&#30340;&#38450;&#27490;&#22270;&#29255;&#30423;&#29992;&#30340;&#26041;&#27861;&#65306;<\/p>\n<h3>1. &#20351;&#29992;&#27700;&#21360;&#25216;&#26415;<\/h3>\n<p><strong>&#21407;&#29702;<\/strong>&#65306;&#36890;&#36807;&#22312;&#22270;&#29255;&#19978;&#28155;&#21152;&#27700;&#21360;&#65292;&#21363;&#20351;&#22270;&#29255;&#34987;&#22797;&#21046;&#25110;&#19979;&#36733;&#65292;&#29992;&#25143;&#20063;&#33021;&#35782;&#21035;&#21040;&#36825;&#26159;&#21463;&#29256;&#26435;&#20445;&#25252;&#30340;&#20869;&#23481;&#12290;<\/p>\n<p><strong>&#31034;&#20363;&#20195;&#30721;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#33719;&#21462;&#24403;&#21069;&#39029;&#38754;&#30340;&#22270;&#20687;&#20449;&#24687;\n$image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );\n\n\/\/ &#27700;&#21360;&#20301;&#32622;&#21644;&#22823;&#23567;\n$watermark_img = '&lt;img src=\"https:<a href=\"https:\/\/www.zhaozhao123.cn\/skin\/go?url=aHR0cDovL2V4YW1wbGUuY29tL3lvdXJfd2F0ZXJtYXJrLnBuZw==\" rel=\"noopener noreferrer nofollow\">\/\/example.com\/your_watermark.png<\/a>\" style=\"position: absolute; top: 0; left: 0;\" \/&gt;';\n$watermark_width = 25;\n$watermark_height = 25;\n\n\/\/ &#28155;&#21152;&#27700;&#21360;\necho $image[0] . $watermark_img . str_repeat('--', abs($image[3] - ($image[1] + $watermark_width)));\n?&gt;<\/code><\/pre>\n<p><strong>&#20351;&#29992;&#27493;&#39588;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#23558;&#19978;&#36848;&#20195;&#30721;&#25554;&#20837;&#21040;&#24744;&#30340;&#20027;&#39064;&#27169;&#26495;&#25991;&#20214;&#20013;&#30340;&#36866;&#24403;&#20301;&#32622;&#12290;<\/li>\n<li>&#37197;&#32622;&#27700;&#21360;&#30340;&#20301;&#32622;&#12289;&#23485;&#24230;&#21644;&#39640;&#24230;&#65292;&#30830;&#20445;&#23427;&#20204;&#19981;&#20250;&#36974;&#25377;&#21407;&#22987;&#22270;&#29255;&#30340;&#20851;&#38190;&#37096;&#20998;&#12290;<\/li>\n<li>&#26356;&#26032; WordPress &#20869;&#23481;&#26102;&#65292;&#27700;&#21360;&#20250;&#33258;&#21160;&#20986;&#29616;&#22312;&#26032;&#19978;&#20256;&#30340;&#22270;&#29255;&#19978;&#12290;<\/li>\n<\/ul>\n<p><strong>&#25928;&#26524;<\/strong>&#65306;&#29992;&#25143;&#30475;&#21040;&#30340;&#26159;&#24102;&#26377;&#27700;&#21360;&#30340;&#22270;&#29255;&#65292;&#20294;&#30423;&#29256;&#32773;&#26080;&#27861;&#21024;&#38500;&#27700;&#21360;&#24182;&#37325;&#26032;&#21457;&#24067;&#21407;&#22270;&#12290;<\/p>\n<h3>2. &#20351;&#29992; SSL\/TLS &#21152;&#23494;<\/h3>\n<p><strong>&#21407;&#29702;<\/strong>&#65306;SSL\/TLS &#21327;&#35758;&#21152;&#23494;&#20102;&#25968;&#25454;&#20256;&#36755;&#36807;&#31243;&#65292;&#38450;&#27490;&#20013;&#38388;&#20154;&#25915;&#20987;&#65292;&#20174;&#32780;&#20943;&#23569;&#22270;&#29255;&#34987;&#31713;&#25913;&#30340;&#39118;&#38505;&#12290;<\/p>\n<p><strong>&#20351;&#29992;&#27493;&#39588;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#22312; WordPress &#21518;&#21488;&#35774;&#32622; SSL &#35748;&#35777;&#65288;&#22914;&#26524;&#23578;&#26410;&#21551;&#29992;&#65289;&#12290;<\/li>\n<li>&#26381;&#21153;&#22120;&#38656;&#25903;&#25345; HTTPS &#21644;&#35777;&#20070;&#39564;&#35777;&#12290;<\/li>\n<\/ul>\n<p><strong>&#25928;&#26524;<\/strong>&#65306;HTTPS &#25903;&#25345;&#19979;&#65292;&#25152;&#26377;&#22270;&#29255;&#20256;&#36755;&#37117;&#32463;&#36807;&#21152;&#23494;&#65292;&#36827;&#19968;&#27493;&#22686;&#24378;&#20102;&#38450;&#30423;&#29992;&#30340;&#23433;&#20840;&#24615;&#12290;<\/p>\n<h3>3. &#35774;&#32622;&#35775;&#38382;&#25511;&#21046;<\/h3>\n<p><strong>&#21407;&#29702;<\/strong>&#65306;&#36890;&#36807;&#38480;&#21046;&#23545;&#29305;&#23450;&#36164;&#28304;&#30340;&#35775;&#38382;&#26435;&#38480;&#65292;&#21487;&#20197;&#38459;&#27490;&#26410;&#25480;&#26435;&#30340;&#22270;&#29255;&#19979;&#36733;&#21644;&#20351;&#29992;&#12290;<\/p>\n<p><strong>&#31034;&#20363;&#20195;&#30721;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">add_action('init', function() {\n    if (!is_user_logged_in()) {\n        wp_redirect(home_url('\/login'));\n        exit();\n    }\n});<\/code><\/pre>\n<p><strong>&#20351;&#29992;&#27493;&#39588;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#22312; <code>functions.php<\/code> &#25991;&#20214;&#20013;&#28155;&#21152;&#27492;&#20195;&#30721;&#29255;&#27573;&#12290;<\/li>\n<li>&#36825;&#23558;&#38459;&#27490;&#38750;&#30331;&#24405;&#29992;&#25143;&#35775;&#38382;&#26576;&#20123;&#39029;&#38754;&#19978;&#30340;&#22270;&#29255;&#12290;<\/li>\n<\/ul>\n<p><strong>&#25928;&#26524;<\/strong>&#65306;&#21482;&#26377;&#24050;&#30331;&#24405;&#30340;&#29992;&#25143;&#25165;&#33021;&#35775;&#38382;&#21547;&#26377;&#30423;&#29992;&#39118;&#38505;&#30340;&#22270;&#29255;&#65292;&#20854;&#20182;&#29992;&#25143;&#23558;&#34987;&#37325;&#23450;&#21521;&#33267;&#30331;&#24405;&#39029;&#38754;&#12290;<\/p>\n<h3>4. &#23450;&#26399;&#26816;&#26597;&#19982;&#26356;&#26032;<\/h3>\n<p><strong>&#21407;&#29702;<\/strong>&#65306;&#23450;&#26399;&#25195;&#25551;&#32593;&#31449;&#65292;&#26816;&#26597;&#26159;&#21542;&#26377;&#26410;&#32463;&#25480;&#26435;&#30340;&#22270;&#29255;&#23384;&#22312;&#65292;&#24182;&#21450;&#26102;&#22788;&#29702;&#36825;&#20123;&#24773;&#20917;&#12290;<\/p>\n<p><strong>&#31034;&#20363;&#20195;&#30721;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">function check_for_themes() {\n    \/\/ &#25191;&#34892;&#25968;&#25454;&#24211;&#26597;&#35810;&#20197;&#33719;&#21462;&#25152;&#26377;&#20027;&#39064;\n    global $wpdb;\n    $themes = $wpdb-&gt;get_results(\"SELECT post_title FROM $wpdb-&gt;posts WHERE post_type='theme'\");\n\n    foreach ($themes as $theme) {\n        \/\/ &#26816;&#26597;&#27599;&#20010;&#20027;&#39064;&#26159;&#21542;&#21253;&#21547;&#21463;&#20445;&#25252;&#30340;&#22270;&#29255;\n        if (file_exists(get_template_directory_uri() . '\/images\/' . $theme-&gt;post_title)) {\n            echo \"Found theme with protected images.\";\n        } else {\n            echo \"No protected images found in the current theme.\";\n        }\n    }\n}<\/code><\/pre>\n<p><strong>&#20351;&#29992;&#27493;&#39588;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#21019;&#24314;&#19968;&#20010; PHP &#33050;&#26412;&#26469;&#23450;&#26399;&#36816;&#34892;&#65292;&#22914;&#27599;&#26376;&#19968;&#27425;&#12290;<\/li>\n<li>&#30417;&#25511;&#20027;&#39064;&#30446;&#24405;&#19979;&#30340;&#22270;&#29255;&#25991;&#20214;&#65292;&#30830;&#20445;&#23427;&#20204;&#27809;&#26377;&#34987;&#35823;&#21024;&#25110;&#20462;&#25913;&#12290;<\/li>\n<\/ul>\n<p><strong>&#25928;&#26524;<\/strong>&#65306;&#31995;&#32479;&#20250;&#23450;&#26399;&#26816;&#26597;&#20027;&#39064;&#24211;&#20013;&#30340;&#22270;&#29255;&#65292;&#21457;&#29616;&#20219;&#20309;&#26410;&#32463;&#35768;&#21487;&#30340;&#22270;&#29255;&#37117;&#20250;&#24471;&#21040;&#36890;&#30693;&#21644;&#22788;&#29702;&#12290;<\/p>\n<p>&#36890;&#36807;&#32467;&#21512;&#20197;&#19978;&#26041;&#27861;&#65292;&#24744;&#21487;&#20197;&#26377;&#25928;&#22320;&#38450;&#27490;&#22270;&#29255;&#22312; WordPress &#32593;&#31449;&#19978;&#30340;&#30423;&#29992;&#34892;&#20026;&#65292;&#20445;&#25252;&#24744;&#30340;&#30693;&#35782;&#20135;&#26435;&#19981;&#21463;&#20405;&#23475;&#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<h2 class=\"wp-block-heading my-0\">&#40657;&#26495;IDE&#25945;&#20070;&#21280;&#65306;<\/h2>\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;&#38450;&#27490;&#22270;&#29255;&#30423;&#29992;&#21487;&#20197;&#37319;&#21462;&#22810;&#31181;&#31574;&#30053;&#65292;&#20197;&#19979;&#26159;&#20854;&#20013;&#22235;&#31181;&#24120;&#35265;&#30340;&#20570;&#27861;&#65306;<\/p>\n<ol>\n<li>\n<p>&#20351;&#29992;&#27700;&#21360;&#21151;&#33021;&#65306;&#22312;&#22270;&#29255;&#19978;&#28155;&#21152;&#27700;&#21360;&#65292;&#20197;&#20415;&#20854;&#20182;&#29992;&#25143;&#26080;&#27861;&#21024;&#38500;&#25110;&#20462;&#25913;&#36825;&#20123;&#27700;&#21360;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#38480;&#21046;&#19978;&#20256;&#22823;&#23567;&#65306;&#36890;&#36807;&#35774;&#32622;&#22270;&#29255;&#19978;&#20256;&#30340;&#25991;&#20214;&#22823;&#23567;&#38480;&#21046;&#65292;&#20197;&#38450;&#27490;&#22823;&#25991;&#20214;&#34987;&#24694;&#24847;&#19979;&#36733;&#21644;&#20351;&#29992;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#20351;&#29992;&#21152;&#23494;&#25216;&#26415;&#65306;&#23558;&#22270;&#29255;&#25968;&#25454;&#21152;&#23494;&#65292;&#30830;&#20445;&#21482;&#26377;&#25480;&#26435;&#29992;&#25143;&#25165;&#33021;&#35775;&#38382;&#36825;&#20123;&#22270;&#29255;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#21033;&#29992;WordPress&#25554;&#20214;&#65306;&#26377;&#35768;&#22810;&#19987;&#38376;&#29992;&#20110;&#38450;&#27490;&#22270;&#29255;&#34987;&#30423;&#29992;&#30340;WordPress&#25554;&#20214;&#65292;&#20363;&#22914;&ldquo;Image Rescue&rdquo;&#12289;&ldquo;Secure Image Uploads&rdquo;&#31561;&#12290;<\/p>\n<\/li>\n<\/ol>\n<p>&#20197;&#19979;&#26159;&#19968;&#20123;&#20855;&#20307;&#30340;&#31034;&#20363;&#20195;&#30721;&#65306;<\/p>\n<p><strong>&#31532;&#19968;&#31181;&#26041;&#27861;&#65288;&#20351;&#29992;&#27700;&#21360;&#65289;<\/strong><\/p>\n<pre><code class=\"language-php\">\/\/ &#21152;&#36733;&#22270;&#29255;\n$image = wp_get_attachment_image_src( $attachment_id, 'full' );\n\n\/\/ &#35774;&#32622;&#27700;&#21360;&#25991;&#23383;\n$watermark_text = 'This is a watermarked image';\n\n\/\/ &#21019;&#24314;&#27700;&#21360;&#23545;&#35937;\n$watermark = new WP_Image_Watermark();\n\n\/\/ &#35774;&#32622;&#27700;&#21360;&#20301;&#32622;\n$watermark-&gt;set_position('top_left');\n\n\/\/ &#35774;&#32622;&#27700;&#21360;&#25991;&#26412;\n$watermark-&gt;add_text($watermark_text);\n\n\/\/ &#23558;&#27700;&#21360;&#24212;&#29992;&#21040;&#22270;&#29255;&#19978;\n$image[0] .= $watermark;\n\n\/\/ &#36820;&#22238;&#22788;&#29702;&#21518;&#30340;&#22270;&#29255;\nreturn $image;<\/code><\/pre>\n<p><strong>&#31532;&#20108;&#31181;&#26041;&#27861;&#65288;&#38480;&#21046;&#19978;&#20256;&#22823;&#23567;&#65289;<\/strong><\/p>\n<pre><code class=\"language-php\">\/\/ &#33719;&#21462;&#24403;&#21069;&#25991;&#20214;&#22841;&#20013;&#30340;&#25152;&#26377;&#22270;&#29255;\n$files = glob(__DIR__ . '\/images\/*.{jpg,png}', GLOB_BRACE);\n$limit_size = 500 * 1024; \/\/ 500KB\n\nforeach ($files as $file) {\n    \/\/ &#26816;&#26597;&#22270;&#29255;&#26159;&#21542;&#36229;&#36807;&#38480;&#21046;&#22823;&#23567;\n    if (filesize($file) &gt; $limit_size) {\n        \/\/ &#21024;&#38500;&#36229;&#22823;&#30340;&#22270;&#29255;\n        unlink($file);\n        continue;\n    }\n\n    \/\/ &#20445;&#23384;&#22270;&#29255;\n    file_put_contents($file, file_get_contents($file));\n}<\/code><\/pre>\n<p><strong>&#31532;&#19977;&#31181;&#26041;&#27861;&#65288;&#21033;&#29992;&#21152;&#23494;&#25216;&#26415;&#65289;<\/strong><\/p>\n<pre><code class=\"language-php\">function encrypt_image($path) {\n    $encrypted_path = md5_file($path); \/\/ &#20351;&#29992;MD5&#31639;&#27861;&#23545;&#22270;&#20687;&#36827;&#34892;&#21152;&#23494;\n    return $encrypted_path;\n}\n\nadd_filter('upload_images_encryption', 'encrypt_image');<\/code><\/pre>\n<p><strong>&#31532;&#22235;&#31181;&#26041;&#27861;&#65288;&#20351;&#29992;WordPress&#25554;&#20214;&#65289;<\/strong><\/p>\n<pre><code class=\"language-php\">require_once plugin_dir_path( __FILE__ ) . 'security\/image-rescue.php';<\/code><\/pre>\n<p>&#20197;&#19978;&#31034;&#20363;&#20195;&#30721;&#37117;&#26159;&#22522;&#26412;&#30340;&#23454;&#29616;&#26041;&#24335;&#65292;&#20855;&#20307;&#23454;&#29616;&#21487;&#33021;&#20250;&#26681;&#25454;&#23454;&#38469;&#24773;&#20917;&#26377;&#25152;&#35843;&#25972;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#20889; Bug&#24037;&#31243;&#24072;&#65306; &#22312; WordPress &#32593;&#31449;&#19978;&#20445;&#25252;&#22270;&#29255;&#19981;&#34987;&#30423;&#29992;&#26159;..<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[49,50],"tuisongtax":[],"class_list":["post-1195","post","type-post","status-publish","format-standard","hentry","category-wpdt","tag-rmzn","tag-xsbdtj"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/posts\/1195","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=1195"}],"version-history":[{"count":0,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/posts\/1195\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/media?parent=1195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/categories?post=1195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tags?post=1195"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tuisongtax?post=1195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}