{"id":4828,"date":"2025-11-07T10:23:31","date_gmt":"2025-11-07T02:23:31","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/wpcms\/bjjc\/4828.html"},"modified":"2025-11-07T10:23:32","modified_gmt":"2025-11-07T02:23:32","slug":"wordpress%e7%bb%8f%e5%85%b8%e4%b8%bb%e9%a2%98%e5%bc%80%e5%8f%91%e4%b8%ad%ef%bc%8c%e5%ae%89%e5%85%a8%e8%be%93%e5%87%ba%e7%9a%84%e6%96%b9%e6%b3%95","status":"publish","type":"bjjc","link":"https:\/\/www.zhaozhao123.cn\/wpcms\/bjjc\/4828.html","title":{"rendered":"WordPress\u7ecf\u5178\u4e3b\u9898\u5f00\u53d1\u4e2d\uff0c\u5b89\u5168\u8f93\u51fa\u7684\u65b9\u6cd5"},"content":{"rendered":"<p>\u5728WordPress\u7ecf\u5178\u4e3b\u9898\u5f00\u53d1\u4e2d\uff0c\u786e\u4fdd\u8f93\u51fa\u5185\u5bb9\u7684\u5b89\u5168\u81f3\u5173\u91cd\u8981\u3002\u4ee5\u4e0b\u662f\u5e38\u7528\u7684\u5b89\u5168\u8f93\u51fa\u65b9\u6cd5\uff1a<\/p><h2 class=\"wp-block-heading\">1. \u8f6c\u4e49\u51fd\u6570<\/h2><h3 class=\"wp-block-heading\">\u57fa\u672c\u8f6c\u4e49\u51fd\u6570<\/h3><pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ \u8f6c\u4e49HTML\u5185\u5bb9\necho esc_html( $text );\n\n\/\/ \u8f6c\u4e49HTML\u5c5e\u6027\necho esc_attr( $attribute );\n\n\/\/ \u8f6c\u4e49URL\necho esc_url( $url );\n\n\/\/ \u8f6c\u4e49JavaScript\necho esc_js( $javascript );\n?&gt;<\/code><\/pre><h3 class=\"wp-block-heading\">\u5b9e\u9645\u5e94\u7528\u793a\u4f8b<\/h3><pre class=\"wp-block-code\"><code>&lt;!-- \u8f6c\u4e49\u6807\u9898 --&gt;\n&lt;h1&gt;&lt;?php echo esc_html( get_the_title() ); ?&gt;&lt;\/h1&gt;\n\n&lt;!-- \u8f6c\u4e49\u94fe\u63a5 --&gt;\n&lt;a href=\"&lt;?php echo esc_url( get_permalink() ); ?&gt;\" \n   title=\"&lt;?php echo esc_attr( get_the_title() ); ?&gt;\"&gt;\n   \u9605\u8bfb\u66f4\u591a\n&lt;\/a&gt;\n\n&lt;!-- \u8f6c\u4e49\u6587\u672c\u533a\u57df --&gt;\n&lt;textarea&gt;&lt;?php echo esc_textarea( $content ); ?&gt;&lt;\/textarea&gt;<\/code><\/pre><h2 class=\"wp-block-heading\">2. \u6761\u4ef6\u6027\u8f6c\u4e49<\/h2><pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ \u68c0\u67e5\u540e\u8f6c\u4e49\nif ( has_excerpt() ) {\n    echo esc_html( get_the_excerpt() );\n}\n\n\/\/ \u5728\u5c5e\u6027\u4e2d\u4f7f\u7528\n&lt;div class=\"&lt;?php echo has_post_thumbnail() ? 'has-thumbnail' : ''; ?&gt;\"&gt;\n&lt;\/div&gt;\n?&gt;<\/code><\/pre><h2 class=\"wp-block-heading\">3. wp_kses() &#8211; \u9650\u5236\u5141\u8bb8\u7684HTML\u6807\u7b7e<\/h2><pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ \u53ea\u5141\u8bb8\u57fa\u672c\u7684HTML\u6807\u7b7e\n$allowed_html = array(\n    'a' =&gt; array(\n        'href' =&gt; array(),\n        'title' =&gt; array()\n    ),\n    'br' =&gt; array(),\n    'em' =&gt; array(),\n    'strong' =&gt; array(),\n);\n\necho wp_kses( $content, $allowed_html );\n\n\/\/ \u4f7f\u7528\u9884\u5b9a\u4e49\u7684\u89c4\u5219\necho wp_kses_post( $content ); \/\/ \u5141\u8bb8\u6587\u7ae0\u5185\u5bb9\u4e2d\u5e38\u89c1\u7684\u6807\u7b7e\necho wp_kses_data( $content ); \/\/ \u57fa\u672c\u6807\u7b7e\n?&gt;<\/code><\/pre><h2 class=\"wp-block-heading\">4. \u6570\u636e\u5e93\u67e5\u8be2\u5b89\u5168<\/h2><pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ \u4f7f\u7528prepare\u9632\u6b62SQL\u6ce8\u5165\nglobal $wpdb;\n$user_id = 1;\n$results = $wpdb-&gt;get_results(\n    $wpdb-&gt;prepare(\n        \"SELECT * FROM {$wpdb-&gt;prefix}posts WHERE post_author = %d AND post_status = %s\",\n        $user_id,\n        'publish'\n    )\n);\n\n\/\/ \u8f6c\u4e49LIKE\u67e5\u8be2\n$search_term = '%' . $wpdb-&gt;esc_like( $term ) . '%';\n?&gt;<\/code><\/pre><h2 class=\"wp-block-heading\">5. \u4e3b\u9898\u6587\u4ef6\u4e2d\u7684\u5b8c\u6574\u793a\u4f8b<\/h2><pre class=\"wp-block-code\"><code>&lt;?php\n\/**\n * \u5b89\u5168\u7684\u6587\u7ae0\u5faa\u73af\u793a\u4f8b\n *\/\nif ( have_posts() ) :\n    while ( have_posts() ) : the_post(); ?&gt;\n        \n        &lt;article id=\"post-&lt;?php the_ID(); ?&gt;\" &lt;?php post_class(); ?&gt;&gt;\n            \n            &lt;!-- \u8f6c\u4e49\u6807\u9898 --&gt;\n            &lt;header class=\"entry-header\"&gt;\n                &lt;h2 class=\"entry-title\"&gt;\n                    &lt;a href=\"&lt;?php echo esc_url( get_permalink() ); ?&gt;\"&gt;\n                        &lt;?php echo esc_html( get_the_title() ); ?&gt;\n                    &lt;\/a&gt;\n                &lt;\/h2&gt;\n                \n                &lt;!-- \u8f6c\u4e49\u5143\u4fe1\u606f --&gt;\n                &lt;div class=\"entry-meta\"&gt;\n                    &lt;span class=\"posted-on\"&gt;\n                        &lt;?php echo esc_html( get_the_date() ); ?&gt;\n                    &lt;\/span&gt;\n                    &lt;span class=\"byline\"&gt;\n                        &lt;?php echo esc_html( get_the_author() ); ?&gt;\n                    &lt;\/span&gt;\n                &lt;\/div&gt;\n            &lt;\/header&gt;\n            \n            &lt;!-- \u9650\u5236HTML\u8f93\u51fa\u7684\u5185\u5bb9 --&gt;\n            &lt;div class=\"entry-content\"&gt;\n                &lt;?php \n                if ( has_excerpt() ) {\n                    echo wp_kses_post( get_the_excerpt() );\n                } else {\n                    echo wp_kses_post( wp_trim_words( get_the_content(), 55 ) );\n                }\n                ?&gt;\n            &lt;\/div&gt;\n            \n        &lt;\/article&gt;\n        \n    &lt;?php endwhile;\nendif;\n?&gt;<\/code><\/pre><h2 class=\"wp-block-heading\">6. \u5c0f\u5de5\u5177\u548c\u9009\u9879\u9875\u7684\u5b89\u5168\u8f93\u51fa<\/h2><pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ \u5c0f\u5de5\u5177\u4e2d\u7684\u5b89\u5168\u8f93\u51fa\nclass My_Widget extends WP_Widget {\n    \n    public function widget( $args, $instance ) {\n        \/\/ \u8f6c\u4e49\u5c0f\u5de5\u5177\u53c2\u6570\n        echo $args['before_widget'];\n        \n        if ( ! empty( $instance['title'] ) ) {\n            $title = apply_filters( 'widget_title', $instance['title'] );\n            echo $args['before_title'] . esc_html( $title ) . $args['after_title'];\n        }\n        \n        \/\/ \u5b89\u5168\u8f93\u51fa\u5185\u5bb9\n        if ( ! empty( $instance['text'] ) ) {\n            echo '&lt;div class=\"widget-text\"&gt;';\n            echo wp_kses_post( $instance['text'] );\n            echo '&lt;\/div&gt;';\n        }\n        \n        echo $args['after_widget'];\n    }\n}\n\n\/\/ \u4e3b\u9898\u9009\u9879\u5b89\u5168\u8f93\u51fa\nfunction my_theme_customizer( $wp_customize ) {\n    $wp_customize-&gt;add_setting( 'footer_text', array(\n        'default' =&gt; '',\n        'sanitize_callback' =&gt; 'wp_kses_post' \/\/ \u6e05\u7406\u56de\u8c03\n    ) );\n}\nadd_action( 'customize_register', 'my_theme_customizer' );\n?&gt;<\/code><\/pre><h2 class=\"wp-block-heading\">7. AJAX\u8bf7\u6c42\u7684\u5b89\u5168\u5904\u7406<\/h2><pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ AJAX\u56de\u8c03\u51fd\u6570\nfunction my_ajax_callback() {\n    \/\/ \u9a8c\u8bc1nonce\n    if ( ! wp_verify_nonce( $_POST['nonce'], 'my_ajax_nonce' ) ) {\n        wp_die( '\u5b89\u5168\u9a8c\u8bc1\u5931\u8d25' );\n    }\n    \n    \/\/ \u6e05\u7406\u548c\u9a8c\u8bc1\u8f93\u5165\n    $user_input = sanitize_text_field( $_POST['data'] );\n    \n    \/\/ \u5904\u7406\u5e76\u8fd4\u56de\u5b89\u5168\u7684\u6570\u636e\n    wp_send_json_success( array(\n        'message' =&gt; esc_html( '\u5904\u7406\u6210\u529f: ' . $user_input )\n    ) );\n}\nadd_action( 'wp_ajax_my_action', 'my_ajax_callback' );\n?&gt;<\/code><\/pre><h2 class=\"wp-block-heading\">\u6700\u4f73\u5b9e\u8df5\u603b\u7ed3<\/h2><ol class=\"wp-block-list\">\n<li>\u200b<strong>\u200b\u59cb\u7ec8\u8f6c\u4e49\u8f93\u51fa\u200b<\/strong>\u200b\uff1a\u4e0d\u8981\u4fe1\u4efb\u4efb\u4f55\u6570\u636e<\/li>\n\n\n\n<li>\u200b<strong>\u200b\u5c3d\u65e9\u9a8c\u8bc1\uff0c\u665a\u70b9\u8f6c\u4e49\u200b<\/strong>\u200b\uff1a\u5728\u5904\u7406\u6d41\u7a0b\u7684\u6700\u540e\u9636\u6bb5\u8fdb\u884c\u8f6c\u4e49<\/li>\n\n\n\n<li>\u200b<strong>\u200b\u4f7f\u7528\u9002\u5f53\u7684\u8f6c\u4e49\u51fd\u6570\u200b<\/strong>\u200b\uff1a\u6839\u636e\u4e0a\u4e0b\u6587\u9009\u62e9\u5408\u9002\u7684\u51fd\u6570<\/li>\n\n\n\n<li>\u200b<strong>\u200b\u9650\u5236HTML\u6807\u7b7e\u200b<\/strong>\u200b\uff1a\u4f7f\u7528wp_kses()\u63a7\u5236\u5141\u8bb8\u7684HTML<\/li>\n\n\n\n<li>\u200b<strong>\u200b\u9a8c\u8bc1\u7528\u6237\u8f93\u5165\u200b<\/strong>\u200b\uff1a\u5728\u5904\u7406\u524d\u9a8c\u8bc1\u6240\u6709\u7528\u6237\u63d0\u4ea4\u7684\u6570\u636e<\/li>\n\n\n\n<li>\u200b<strong>\u200b\u4f7f\u7528nonce\u9a8c\u8bc1\u200b<\/strong>\u200b\uff1a\u9632\u6b62CSRF\u653b\u51fb<\/li>\n<\/ol><p>\u9075\u5faa\u8fd9\u4e9b\u5b89\u5168\u5b9e\u8df5\u53ef\u4ee5\u663e\u8457\u63d0\u9ad8WordPress\u4e3b\u9898\u7684\u5b89\u5168\u6027\u3002<\/p>","protected":false},"excerpt":{"rendered":"<p>\u5728WordPress\u7ecf\u5178\u4e3b\u9898\u5f00\u53d1\u4e2d\uff0c\u786e\u4fdd\u8f93\u51fa\u5185\u5bb9\u7684\u5b89\u5168\u81f3\u5173\u91cd\u8981\u3002\u4ee5\u4e0b\u662f\u5e38\u7528\u7684\u5b89\u5168\u8f93\u51fa\u65b9\u6cd5\uff1a 1. \u8f6c\u4e49\u51fd\u6570 \u57fa\u672c\u8f6c\u4e49\u51fd\u6570 \u5b9e\u9645\u5e94\u7528\u793a\u4f8b 2. \u6761\u4ef6\u6027\u8f6c\u4e49 3. wp_kses() &#8211; \u9650\u5236\u5141\u8bb8\u7684HTML\u6807\u7b7e 4. \u6570\u636e\u5e93\u67e5\u8be2\u5b89\u5168 5. \u4e3b\u9898\u6587\u4ef6\u4e2d\u7684\u5b8c\u6574\u793a\u4f8b 6. \u5c0f\u5de5\u5177\u548c\u9009\u9879\u9875\u7684\u5b89\u5168\u8f93\u51fa 7. AJAX\u8bf7\u6c42..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":true},"tags":[3279,3278,3281,3280,52],"bjjc2nav":[14],"tuisongtax":[],"class_list":["post-4828","bjjc","type-bjjc","status-publish","hentry","tag-wordpress-esc_attr","tag-wordpress-esc_html","tag-wordpress-esc_js","tag-wordpress-esc_url","tag-ztjc","bjjc2nav-jdztkf"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"esc_html(),esc_attr(),esc_url(),esc_js()","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":"esc_html(),esc_attr(),esc_url(),esc_js()"},"qian_art_stzhong":"\u5b89\u5168\u8f93\u51fa","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":"\u5b89\u5168\u8f93\u51fa"}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/bjjc\/4828","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=4828"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tags?post=4828"},{"taxonomy":"bjjc2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/bjjc2nav?post=4828"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tuisongtax?post=4828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}