{"id":2192,"date":"2025-06-10T22:48:05","date_gmt":"2025-06-10T14:48:05","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/wpcms\/wpdt\/2192.html"},"modified":"2025-06-10T22:48:05","modified_gmt":"2025-06-10T14:48:05","slug":"%e5%9c%a8wordpress%e4%b8%ad%e6%b7%bb%e5%8a%a0%e5%85%8d%e8%b4%b9%e8%af%95%e7%94%a8%e8%ae%a2%e9%98%85%e7%9a%844%e7%a7%8d%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.zhaozhao123.cn\/wpcms\/post\/2192.html","title":{"rendered":"\u5728WordPress\u4e2d\u6dfb\u52a0\u514d\u8d39\u8bd5\u7528\u8ba2\u9605\u76844\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<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>&#22312;WordPress&#20013;&#20026;&#29992;&#25143;&#25552;&#20379;&#20813;&#36153;&#35797;&#29992;&#35746;&#38405;&#26159;&#19968;&#31181;&#24120;&#35265;&#30340;&#31574;&#30053;&#65292;&#21487;&#20197;&#24110;&#21161;&#21560;&#24341;&#26032;&#29992;&#25143;&#24182;&#24314;&#31435;&#21697;&#29260;&#24544;&#35802;&#24230;&#12290;&#20197;&#19979;&#26159;&#22235;&#31181;&#22312;WordPress&#20013;&#23454;&#29616;&#20813;&#36153;&#35797;&#29992;&#35746;&#38405;&#30340;&#26041;&#27861;&#65306;<\/p>\n<h3>&#26041;&#27861;1: &#20351;&#29992;&#25554;&#20214;&ldquo;Free Trial Plugin&rdquo;<\/h3>\n<p>&#36825;&#20010;&#25554;&#20214;&#20801;&#35768;&#24744;&#20026;&#24744;&#30340;&#32593;&#31449;&#19978;&#30340;&#29305;&#23450;&#39029;&#38754;&#35774;&#32622;&#20813;&#36153;&#35797;&#29992;&#26399;&#12290;&#24744;&#21487;&#20197;&#33258;&#23450;&#20041;&#35797;&#29992;&#26399;&#12289;&#21040;&#26399;&#21518;&#30340;&#20869;&#23481;&#20197;&#21450;&#22914;&#20309;&#22788;&#29702;&#26410;&#25903;&#20184;&#30340;&#24773;&#20917;&#12290;<\/p>\n<h4>&#27493;&#39588;&#65306;<\/h4>\n<ol>\n<li><strong>&#23433;&#35013;&#25554;&#20214;<\/strong>&#65306;&#35775;&#38382;&#25554;&#20214;&#21830;&#24215;&#65288;&#22914;WordLift&#25110;Jetpack&#65289;&#19979;&#36733;&#24182;&#23433;&#35013;&ldquo;Free Trial Plugin&rdquo;&#12290;<\/li>\n<li><strong>&#37197;&#32622;&#39029;&#38754;<\/strong>&#65306;&#30331;&#24405;&#21040;WordPress&#21518;&#21488;&#65292;&#25214;&#21040;&#35813;&#25554;&#20214;&#65292;&#28982;&#21518;&#28857;&#20987;&ldquo;&#35774;&#32622;&rdquo;&#12290;&#22312;&#36825;&#37324;&#65292;&#24744;&#21487;&#20197;&#36873;&#25321;&#35201;&#35774;&#32622;&#35797;&#29992;&#26399;&#30340;&#39029;&#38754;&#21644;&#31867;&#22411;&#65288;&#20363;&#22914;&#65292;&#21333;&#20010;&#39029;&#38754;&#12289;&#25972;&#20010;&#31449;&#28857;&#31561;&#65289;&#12290;<\/li>\n<li><strong>&#23450;&#21046;&#20869;&#23481;<\/strong>&#65306;&#26681;&#25454;&#38656;&#35201;&#35843;&#25972;&#39029;&#38754;&#19978;&#26174;&#31034;&#30340;&#20449;&#24687;&#65292;&#27604;&#22914;&#20248;&#24800;&#30721;&#12289;&#26399;&#38480;&#21644;&#21462;&#28040;&#25353;&#38062;&#12290;<\/li>\n<li><strong>&#27979;&#35797;&#21151;&#33021;<\/strong>&#65306;&#30830;&#20445;&#25152;&#26377;&#35774;&#32622;&#37117;&#27491;&#30830;&#26080;&#35823;&#21518;&#65292;&#27979;&#35797;&#25554;&#20214;&#30340;&#21151;&#33021;&#20197;&#30830;&#35748;&#35797;&#29992;&#26399;&#26159;&#21542;&#25353;&#39044;&#26399;&#24037;&#20316;&#12290;<\/li>\n<\/ol>\n<h3>&#31034;&#20363;&#20195;&#30721;&#65306;<\/h3>\n<pre><code class=\"language-php\">\/\/ &#25554;&#20837;&#20197;&#19979;&#20195;&#30721;&#21040;functions.php&#25991;&#20214;&#20013;\n\nfunction free_trial_setup() {\n    \/\/ &#28155;&#21152;&#39029;&#38754;&#20026;&#20813;&#36153;&#35797;&#29992;\n    add_filter( 'free_trial_page_types', 'add_free_trial_page' );\n    function add_free_trial_page( $page_types ) {\n        return array_merge( $page_types, array(\n            'free-trial-page' =&gt; __( 'Free Trial Page', 'plugin-textdomain' ),\n        ) );\n    }\n}\nadd_action( 'plugins_loaded', 'free_trial_setup' );\n\n\/\/ &#22312;&#39029;&#38754;&#27169;&#26495;&#20013;&#20351;&#29992;&#20197;&#19979;&#20195;&#30721;&#26469;&#26174;&#31034;&#20813;&#36153;&#35797;&#29992;&#20449;&#24687;\nget_header();\n?&gt;\n&lt;div id=\"content\"&gt;\n    &lt;div class=\"container\"&gt;\n        &lt;?php if ( has_term( 'free-trial-page', 'page' ) ) : ?&gt;\n            &lt;h1&gt;&lt;?php echo get_the_title(); ?&gt;&lt;\/h1&gt;\n            &lt;p&gt;&lt;?php echo esc_html__( 'This page is available for a free trial.', 'plugin-textdomain' ); ?&gt;&lt;\/p&gt;\n            &lt;!-- &#20320;&#21487;&#20197;&#22312;&#27492;&#22788;&#28155;&#21152;&#26356;&#22810;&#30340;&#20813;&#36153;&#35797;&#29992;&#20449;&#24687; --&gt;\n        &lt;?php endif; ?&gt;\n    &lt;\/div&gt;\n&lt;\/div&gt;\n&lt;?php get_footer();<\/code><\/pre>\n<h3>&#26041;&#27861;2: &#21033;&#29992;&#33258;&#23450;&#20041;&#34920;&#21333;<\/h3>\n<p>&#36890;&#36807;&#21019;&#24314;&#19968;&#20010;&#31616;&#21333;&#30340;&#22312;&#32447;&#34920;&#21333;&#65292;&#24744;&#21487;&#20197;&#35753;&#29992;&#25143;&#22635;&#20889;&#20182;&#20204;&#30340;&#22995;&#21517;&#12289;&#30005;&#23376;&#37038;&#20214;&#22320;&#22336;&#21644;&#20854;&#20182;&#24517;&#35201;&#20449;&#24687;&#65292;&#20174;&#32780;&#33258;&#21160;&#33719;&#24471;&#19968;&#20010;&#27880;&#20876;&#30721;&#12290;<\/p>\n<h4>&#27493;&#39588;&#65306;<\/h4>\n<ol>\n<li><strong>&#35774;&#35745;&#34920;&#21333;<\/strong>&#65306;&#22312;WordPress&#21518;&#21488;&#30340;<code>&#32534;&#36753; &gt; &#24067;&#23616; &gt; &#34920;&#21333;<\/code>&#36873;&#39033;&#21345;&#20013;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#34920;&#21333;&#12290;<\/li>\n<li><strong>&#28155;&#21152;&#23383;&#27573;<\/strong>&#65306;&#21253;&#25324;&#24517;&#22635;&#39033;&#22914;&#29992;&#25143;&#21517;&#12289;&#30005;&#23376;&#37038;&#20214;&#22320;&#22336;&#20197;&#21450;&#19968;&#20010;&#39564;&#35777;&#30721;&#23383;&#27573;&#12290;<\/li>\n<li><strong>&#20445;&#23384;&#34920;&#21333;<\/strong>&#65306;&#25552;&#20132;&#34920;&#21333;&#21518;&#65292;&#29992;&#25143;&#23558;&#25910;&#21040;&#19968;&#23553;&#21253;&#21547;&#27880;&#20876;&#30721;&#30340;&#30005;&#23376;&#37038;&#20214;&#12290;<\/li>\n<\/ol>\n<h3>&#31034;&#20363;&#20195;&#30721;&#65306;<\/h3>\n<pre><code class=\"language-php\">\/\/ &#21019;&#24314;&#34920;&#21333;\nadd_shortcode('register_form', 'register_form_function');\nfunction register_form_function($atts) {\n    extract(shortcode_atts(array(\n        'title' =&gt; '',\n        'submit_text' =&gt; __('&#27880;&#20876;', 'text-domain'),\n        'message' =&gt; __('&#24863;&#35874;&#24744;&#30340;&#27880;&#20876;&#65281;', 'text-domain')\n    ), $atts));\n\n    ob_start();\n    ?&gt;\n    &lt;form method=\"post\" action=\"&lt;?php echo admin_url('admin-post.php'); ?&gt;\"&gt;\n        &lt;label for=\"name\"&gt;&lt;?php _e(\"&#24744;&#30340;&#21517;&#23383;\", \"text-domain\"); ?&gt;&lt;\/label&gt;&lt;br \/&gt;\n        &lt;input type=\"text\" name=\"name\" id=\"name\" value=\"\" required \/&gt;&lt;br \/&gt;\n\n        &lt;label for=\"email\"&gt;&lt;?php _e(\"&#30005;&#23376;&#37038;&#20214;&#22320;&#22336;\", \"text-domain\"); ?&gt;&lt;\/label&gt;&lt;br \/&gt;\n        &lt;input type=\"email\" name=\"email\" id=\"email\" value=\"\" required \/&gt;&lt;br \/&gt;\n\n        &lt;label for=\"captcha\"&gt;&lt;img src=\"&lt;?php echo admin_url('images\/captcha.png'); ?&gt;\" alt=\"CAPTCHA\" \/&gt;&lt;\/label&gt;&lt;br \/&gt;\n        &lt;textarea name=\"captcha\"&gt;&lt;\/textarea&gt;\n\n        &lt;button type=\"submit\" name=\"action\" value=\"register\" &gt;&lt;?php echo $submit_text; ?&gt;&lt;\/button&gt;\n    &lt;\/form&gt;\n    &lt;?php\n    return ob_get_clean();\n\n}\n\n\/\/ &#27880;&#20876;&#29992;&#25143;&#26102;&#29983;&#25104;&#27880;&#20876;&#30721;\nfunction generate_registration_code() {\n    global $wpdb;\n    $registration_code = wp_generate_password(8, false);\n    $wpdb-&gt;insert(\n        $wpdb-&gt;prefix . 'users',\n        array(\n            'user_login' =&gt; sanitize_user($_POST['name']),\n            'user_email' =&gt; sanitize_email($_POST['email']),\n            'user_pass' =&gt; wp_generate_password(),\n            'user_registered' =&gt; current_time('mysql'),\n            'first_name' =&gt; $_POST['name'],\n            'last_name' =&gt; '',\n            'user_activation_key' =&gt; wp_generate_token()\n        )\n    );\n    return $registration_code;\n}\nadd_action('wp_insert_user', 'generate_registration_code');\n\n\/\/ &#26816;&#26597;&#26159;&#21542;&#26377;&#26032;&#30340;&#27880;&#20876;&#32773;\nfunction check_new_users() {\n    $new_users = $wpdb-&gt;get_results(\"\n        SELECT u.user_id, u.display_name AS user_name\n        FROM {$wpdb-&gt;users} u\n        INNER JOIN {$wpdb-&gt;prefix}usermeta m ON u.ID = m.user_id\n        WHERE u.user_status = '0'\n    \");\n    foreach ($new_users as $user) {\n        $activation_link = wp_lostpassword_url($user-&gt;user_login, $user-&gt;display_name, $user-&gt;user_email);\n        send_mail(\n            $user-&gt;user_email,\n            $user-&gt;display_name,\n            $user-&gt;user_login,\n            $activation_link,\n            sprintf(__('Welcome to our site! %s', 'text-domain'), '&lt;a href=\"' . $activation_link . '\"&gt;' . __('Activate your account', 'text-domain') . '&lt;\/a&gt;')\n        );\n    }\n}\nadd_action('after_switch_theme', 'check_new_users');\n\n\/\/ &#21457;&#36865;&#37038;&#20214;\nfunction send_mail($to, $from, $subject, $body, $headers) {\n    $headers .= \"rn From: \" . $from;\n    mail($to, $subject, $body, $headers);\n}<\/code><\/pre>\n<h3>&#26041;&#27861;3: &#20351;&#29992;&#31532;&#19977;&#26041;&#26381;&#21153;&#38598;&#25104;<\/h3>\n<p>&#26377;&#20123;&#31532;&#19977;&#26041;&#26381;&#21153;&#25552;&#20379;&#20102;&#19968;&#22871;&#23436;&#25972;&#30340;&#35299;&#20915;&#26041;&#26696;&#65292;&#21487;&#20197;&#19982;WordPress&#26080;&#32541;&#38598;&#25104;&#65292;&#24110;&#21161;&#31649;&#29702;&#29992;&#25143;&#27880;&#20876;&#36807;&#31243;&#12290;<\/p>\n<h4>&#31034;&#20363;&#65306;&#20351;&#29992;Google OAuth 2.0<\/h4>\n<p>Google OAuth 2.0 &#26159;&#19968;&#31181;&#23433;&#20840;&#30340;&#25480;&#26435;&#21327;&#35758;&#65292;&#20801;&#35768;&#31532;&#19977;&#26041;&#24212;&#29992;&#20174;&#29992;&#25143;&#37027;&#37324;&#33719;&#21462;&#26435;&#38480;&#12290;<\/p>\n<h4>&#27493;&#39588;&#65306;<\/h4>\n<ol>\n<li><strong>&#35774;&#32622;OAuth&#23458;&#25143;&#31471;ID<\/strong>&#65306;&#21069;&#24448;Google&#24320;&#21457;&#32773;&#25511;&#21046;&#21488;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#24212;&#29992;&#31243;&#24207;&#65292;&#24182;&#33719;&#21462;OAuth&#23458;&#25143;&#31471;ID&#21644;&#31192;&#23494;&#12290;<\/li>\n<li><strong>&#38598;&#25104;Google OAuth<\/strong>&#65306;&#22312;WordPress&#21518;&#21488;&#21551;&#29992;Google OAuth&#65292;&#24182;&#25353;&#29031;&#35828;&#26126;&#37197;&#32622;&#25152;&#38656;&#30340;&#20449;&#24687;&#12290;<\/li>\n<li><strong>&#35748;&#35777;&#27969;&#31243;<\/strong>&#65306;&#24403;&#29992;&#25143;&#23581;&#35797;&#27880;&#20876;&#26102;&#65292;&#20182;&#20204;&#20250;&#34987;&#37325;&#23450;&#21521;&#21040;Google&#30331;&#24405;&#39029;&#38754;&#65292;&#23436;&#25104;&#36523;&#20221;&#39564;&#35777;&#21518;&#65292;&#31995;&#32479;&#20250;&#36339;&#36716;&#22238;&#24744;&#30340;WordPress&#32593;&#31449;&#24182;&#35760;&#24405;&#29992;&#25143;&#30340;&#27880;&#20876;&#20449;&#24687;&#12290;<\/li>\n<\/ol>\n<h3>&#31034;&#20363;&#20195;&#30721;&#65306;<\/h3>\n<pre><code class=\"language-php\">\/\/ &#37197;&#32622;Google OAuth\nadd_filter('authenticate', 'google_oauth_authenticate', 9999999);\n\nfunction google_oauth_authenticate($result) {\n    if (!empty($_GET['code'])) {\n        $client = new Google_Client();\n        $client-&gt;setClientId(get_option('google_client_id'));\n        $client-&gt;setClientSecret(get_option('google_client_secret'));\n        $client-&gt;setRedirectUri(get_site_url());\n        $client-&gt;setScopes(Google_Service_Oauth2::AUTH2_EMAILSCOPE);\n\n        $token = $client-&gt;fetchAccessTokenWithAuthCode($_GET['code']);\n        $access_token = $token['access_token'];\n\n        $user_data = json_decode(file_get_contents(\"https:\/\/www.googleapis.com\/oauth2\/v1\/userinfo?access_token=$access_token\"), true);\n        update_user_meta($result-&gt;user_id, 'google_username', $user_data['name']);\n        update_user_meta($result-&gt;user_id, 'google_email', $user_data['email']);\n\n        return $result;\n    } else {\n        return $result;\n    }\n}<\/code><\/pre>\n<h3>&#26041;&#27861;4: &#33258;&#34892;&#24320;&#21457;&#29992;&#25143;&#31649;&#29702;&#31995;&#32479;<\/h3>\n<p>&#22914;&#26524;&#24744;&#26377;&#25216;&#26415;&#32972;&#26223;&#65292;&#21487;&#20197;&#33258;&#34892;&#24320;&#21457;&#19968;&#20010;&#26356;&#22797;&#26434;&#30340;&#29992;&#25143;&#31649;&#29702;&#31995;&#32479;&#65292;&#36825;&#21487;&#33021;&#28041;&#21450;&#25968;&#25454;&#24211;&#25805;&#20316;&#21644;API&#35843;&#29992;&#26469;&#22788;&#29702;&#29992;&#25143;&#25968;&#25454;&#12290;<\/p>\n<h4>&#31034;&#20363;&#65306;&#20351;&#29992;PHP&#21644;MySQL<\/h4>\n<p>&#39318;&#20808;&#65292;&#21019;&#24314;&#19968;&#20010;MySQL&#25968;&#25454;&#24211;&#24182;&#21021;&#22987;&#21270;&#29992;&#25143;&#34920;&#32467;&#26500;&#12290;<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE mywordpressdb;\nUSE mywordpressdb;\n\nCREATE TABLE users (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    username VARCHAR(50),\n    email VARCHAR(100)\n);<\/code><\/pre>\n<p>&#28982;&#21518;&#32534;&#20889;PHP&#33050;&#26412;&#26469;&#25554;&#20837;&#26032;&#29992;&#25143;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ &#36830;&#25509;&#25968;&#25454;&#24211;\n$servername = \"localhost\";\n$username = \"root\";\n$password = \"\";\n$dbname = \"mywordpressdb\";\n\n$conn = new mysqli($servername, $username, $password, $dbname);\n\nif ($conn-&gt;connect_error) {\n    die(\"&#36830;&#25509;&#22833;&#36133;: \" . $conn-&gt;connect_error);\n}\n\n$sql = \"INSERT INTO users (username, email) VALUES ('{$username}', '{$email}')\";\nif ($conn-&gt;query($sql) === TRUE) {\n    echo \"&#26032;&#29992;&#25143;&#24050;&#25104;&#21151;&#27880;&#20876;&#65281;\";\n} else {\n    echo \"&#38169;&#35823;: \" . $sql . \"&lt;br&gt;\" . $conn-&gt;error;\n}\n\n$conn-&gt;close();<\/code><\/pre>\n<h3>&#24635;&#32467;<\/h3>\n<p>&#20197;&#19978;&#36825;&#20123;&#26041;&#27861;&#21487;&#20197;&#24110;&#21161;&#20320;&#22312;WordPress&#20013;&#23454;&#26045;&#20813;&#36153;&#35797;&#29992;&#35746;&#38405;&#35745;&#21010;&#12290;&#27599;&#31181;&#26041;&#27861;&#37117;&#26377;&#20854;&#29305;&#28857;&#21644;&#36866;&#29992;&#22330;&#26223;&#65292;&#24744;&#21487;&#20197;&#26681;&#25454;&#33258;&#24049;&#30340;&#38656;&#27714;&#21644;&#25216;&#26415;&#27700;&#24179;&#36873;&#25321;&#26368;&#36866;&#21512;&#30340;&#26041;&#27861;&#12290;&#24076;&#26395;&#36825;&#20123;&#20449;&#24687;&#23545;&#24744;&#26377;&#25152;&#24110;&#21161;&#65281;<\/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;&#28155;&#21152;&#20813;&#36153;&#35797;&#29992;&#35746;&#38405;&#30340;&#26041;&#27861;&#26377;&#22810;&#31181;&#65292;&#20197;&#19979;&#26159;&#19968;&#20123;&#24120;&#35265;&#30340;&#26041;&#27861;&#65306;<\/p>\n<ol>\n<li>&#20351;&#29992;&#25554;&#20214;<\/li>\n<li>&#22312;&#20027;&#39064;&#35774;&#32622;&#20013;&#33258;&#23450;&#20041;<\/li>\n<li>&#36890;&#36807;WordPress&#26412;&#36523;&#25552;&#20379;&#30340;&#21151;&#33021;<\/li>\n<li>&#33258;&#23450;&#20041;URL<\/li>\n<\/ol>\n<h3>&#26041;&#27861;&#19968;&#65306;&#20351;&#29992;&#25554;&#20214;<\/h3>\n<p>&#22823;&#22810;&#25968;WordPress&#25554;&#20214;&#37117;&#25552;&#20379;&#20102;&#25552;&#20379;&#35746;&#38405;&#26381;&#21153;&#30340;&#21151;&#33021;&#65292;&#20363;&#22914;&#65306;<\/p>\n<ul>\n<li><strong>WP Mail SMTP<\/strong> &#8211; &#21487;&#20197;&#36731;&#26494;&#22320;&#20026;&#24744;&#30340;&#32593;&#31449;&#21019;&#24314;&#30005;&#23376;&#37038;&#20214;&#33258;&#21160;&#22238;&#22797;&#21644;&#37038;&#20214;&#21015;&#34920;&#12290;<\/li>\n<li><strong>WP Subscriber Add-On<\/strong> &#8211; &#25552;&#20379;&#20102;&#19968;&#20010;&#31616;&#21333;&#26131;&#29992;&#30340;&#29992;&#25143;&#27880;&#20876;&#21644;&#30331;&#24405;&#39029;&#38754;&#12290;<\/li>\n<li><strong>WP Email Subscription<\/strong> &#8211; &#20801;&#35768;&#24744;&#21019;&#24314;&#19968;&#20010;&#31616;&#21333;&#30340;&#35746;&#38405;&#34920;&#21333;&#12290;<\/li>\n<\/ul>\n<h4>&#31034;&#20363;&#20195;&#30721;<\/h4>\n<pre><code class=\"language-php\">\/\/ &#20351;&#29992;WP Mail SMTP&#25554;&#20214;\nadd_action('init', 'register_custom_post_type');\nfunction register_custom_post_type() {\n    register_post_type(\n        'my_subscription',\n        array(\n            'labels' =&gt; array(\n                'name' =&gt; _x('My Subscription', 'post type general name'),\n                'singular_name' =&gt; _x('Subscription', 'post type singular name')\n            ),\n            'public' =&gt; true,\n            'has_archive' =&gt; false,\n            'supports' =&gt; array('title', 'editor', 'thumbnail', 'excerpt'),\n            'menu_icon' =&gt; 'dashicons-mail'\n        )\n    );\n}<\/code><\/pre>\n<h3>&#26041;&#27861;&#20108;&#65306;&#22312;&#20027;&#39064;&#35774;&#32622;&#20013;&#33258;&#23450;&#20041;<\/h3>\n<p>&#24744;&#21487;&#20197;&#22312;WordPress&#20027;&#39064;&#30340;<code>functions.php<\/code>&#25991;&#20214;&#20013;&#33258;&#23450;&#20041;&#35746;&#38405;&#36873;&#39033;&#26469;&#23454;&#29616;&#35746;&#38405;&#21151;&#33021;&#12290;<\/p>\n<pre><code class=\"language-php\">function custom_subscribe_form($form_fields) {\n    $form_fields['subscribe'] = '&lt;input type=\"submit\" value=\"Subscribe\" class=\"button button-primary\"&gt;';\n    return $form_fields;\n}\n\nadd_filter('wpforms\/form_fields', 'custom_subscribe_form');<\/code><\/pre>\n<p>&#28982;&#21518;&#22312;&#24744;&#30340;&#31449;&#28857;&#19978;&#21551;&#29992;&#36825;&#20010;&#25554;&#20214;&#24182;&#20445;&#23384;&#26356;&#25913;&#12290;<\/p>\n<h3>&#26041;&#27861;&#19977;&#65306;&#36890;&#36807;WordPress&#26412;&#36523;&#25552;&#20379;&#30340;&#21151;&#33021;<\/h3>\n<p>&#34429;&#28982;&#36825;&#31181;&#26041;&#27861;&#30456;&#23545;&#36739;&#23569;&#35265;&#65292;&#20294;&#20173;&#28982;&#21487;&#20197;&#23454;&#29616;&#35746;&#38405;&#21151;&#33021;&#65306;<\/p>\n<pre><code class=\"language-html\">&lt;form method=\"POST\" action=\"\/wp-admin\/admin-ajax.php\"&gt;\n    &lt;div&gt;\n        &lt;label for=\"email\"&gt;Email:&lt;\/label&gt;\n        &lt;input type=\"email\" id=\"email\" name=\"email\" required \/&gt;\n    &lt;\/div&gt;\n    &lt;button type=\"submit\"&gt;Subscribe&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>&#36825;&#23558;&#26174;&#31034;&#19968;&#20010;&#31616;&#21333;&#30340;&#35746;&#38405;&#34920;&#21333;&#65292;&#29992;&#25143;&#21482;&#38656;&#36755;&#20837;&#20182;&#20204;&#30340;&#37038;&#31665;&#22320;&#22336;&#21363;&#21487;&#23436;&#25104;&#35746;&#38405;&#12290;<\/p>\n<h3>&#26041;&#27861;&#22235;&#65306;&#33258;&#23450;&#20041;URL<\/h3>\n<p>&#22914;&#26524;&#24744;&#24076;&#26395;&#20026;&#24744;&#30340;&#32593;&#31449;&#23450;&#21046;&#19968;&#20010;&#29420;&#29305;&#30340;&#35746;&#38405;&#38142;&#25509;&#65292;&#24744;&#21487;&#20197;&#25163;&#21160;&#21019;&#24314;&#19968;&#20010;&#21253;&#21547;&ldquo;\/subscription&rdquo;&#36335;&#24452;&#30340;&#26032;&#39029;&#38754;&#25110;&#27169;&#22359;&#12290;<\/p>\n<pre><code class=\"language-html\">&lt;a href=\"\/subscription\"&gt;Join our newsletter&lt;\/a&gt;<\/code><\/pre>\n<p>&#35831;&#26681;&#25454;&#24744;&#30340;&#20855;&#20307;&#38656;&#27714;&#36873;&#25321;&#21512;&#36866;&#30340;&#26041;&#27861;&#26469;&#23454;&#29616;&#20813;&#36153;&#35797;&#29992;&#35746;&#38405;&#21151;&#33021;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312;WordPress&#20013;&#20026;&#29992;&#25143;&#25552;&#20379;&#20813;&#36153;&#35797;&#29992;&#35746;&#38405;&#26159;&#19968;&#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-2192","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\/2192","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=2192"}],"version-history":[{"count":0,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/posts\/2192\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/media?parent=2192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/categories?post=2192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tags?post=2192"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/wpcms\/wp-json\/wp\/v2\/tuisongtax?post=2192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}