Jetpack เป็นโซลูชันที่ยอดเยี่ยมสำหรับการสร้างรายชื่อสมาชิก และ Intercom เป็นโซลูชันที่จะช่วยให้คุณจัดการสมาชิกและอยู่ใน ติดต่อเรา กับพวกเขาเหล่านั้น.
ในบทช่วยสอนนี้เราจะแสดงวิธีเพิ่มรายชื่อสมาชิกของคุณด้วย Jetpack และอินเตอร์คอม
บางคนมาถามฉันว่าเป็นไปได้หรือไม่ที่จะอนุญาตให้ผู้ใช้สมัครสมาชิกและรับบทความทั้งหมดของพวกเขาทางอีเมลและจัดเก็บที่อยู่อีเมลไว้ในอินเตอร์คอม ฉันตอบกลับทันทีโดยเฉพาะอย่างยิ่งในฐานะ API (อินเตอร์เฟซการเขียนโปรแกรมประยุกต์) ใช้งานง่าย
ดังนั้นฉันจึงคิดเกี่ยวกับการใช้ปลั๊กอินการสมัครสมาชิกซึ่งจะส่งที่อยู่อีเมลไปยังอินเตอร์คอมผ่าน API และนั่นคือสิ่งที่ฉันจะทำ
เราได้ติดตั้ง Jetpack แล้วดังนั้นสิ่งที่คุณต้องมีก็คือเปิดใช้งานโมดูล " การสมัครรับข้อมูล …อย่างไรก็ตาม มันไม่ง่ายอย่างนั้น ถ้าคุณต้องการแสดงไฟล์ ฟอร์ม ในตำแหน่งที่กำหนดเอง (หน้ากำหนดเองเช่น)? นอกจากนี้ เราจะแสดงวิธีปรับแต่งตำแหน่ง ฟอร์ม.
ขั้นตอนแรก
เราจะเริ่มต้นด้วยก ฟอร์ม ขั้นพื้นฐาน :
อย่าพลาดโพสต์ของเรา รับข้อมูลอัปเดตในกล่องจดหมายของคุณทันทีที่โพสต์
สำหรับใครก็ตามที่อาจสนใจฉันได้เพิ่มแบบฟอร์มที่นี่โดยใช้การดำเนินการ " genesis_after_entry ชุดรูปแบบ Genesis แต่ถ้าคุณไม่ได้ใช้ Genesis คุณสามารถใช้ตัวกรอง " the_content และตัดแบ่งเนื้อหาของคุณเข้ากับบทความ
ในตัวอย่างของเราเราจะแสดงแบบฟอร์มหลัง 3e บทความ หากคุณใช้ตัวกรองให้ใช้ฟังก์ชั่น " ob_start "และ" ob_get_clean เพื่อเริ่มต้นบัฟเฟอร์และใช้เนื้อหา
ทั่วโลก $ โพสต์, $ wp_query; if (is_home() && $ wp_query->โพสต์[3]->ID == $ โพสต์->ID) { ประกอบด้วย(get_stylesheet_directory()."/includes/templates/snippets/blog-archive-signup.php"); }
นี่คือ CSS สไตล์แบบฟอร์ม
# บล็อกเก็บสมัครใช้งาน { ความกว้าง:ลด 100% ที่สำคัญ!; ชัดเจน:ทั้งสอง; } # บล็อกเก็บสมัครใช้งาน { เบรกพอยต์ @include ($ แท็บเล็ต) { พื้นหลัง:URL ( "images / ต่ำ bg.png") ไม่มีซ้ำ 0 0; ความสูง:200px; } } # fieldset บล็อกเก็บสมัครใช้งาน { ชายแดน:0; ความกว้าง:ลด 100%; padding ซ้าย:50px; } # fieldset บล็อกเก็บสมัครใช้งาน { เบรกพอยต์ @include (ความกว้างสูงสุดแท็บเล็ต $) { padding ซ้าย:0px } } # ตำนานบล็อกเก็บสมัครใช้งาน { padding ด้านบน:20px; } # สาขาบล็อกเก็บสมัครใช้ตู้คอนเทนเนอร์ # { ความกว้าง:ลด 100% } # การป้อนข้อมูลบล็อกเก็บสมัครใช้งาน [ชื่อ * = 'อีเมล'] { พื้นหลัง:URL ( "images / ต่ำ field.png") ไม่มีซ้ำ 0 0; การขยายความ:0; ขอบ:0; ความสูง:44px; ชายแดน:0; ความกว้าง:560px; line-height:22px; ลอย:ซ้าย; } # การป้อนข้อมูลบล็อกเก็บสมัครใช้งาน [ชื่อ * = 'อีเมล'] { เบรกพอยต์ @include (ความกว้างสูงสุดแท็บเล็ต $) { การขยายความ:0; ขอบ:0; ชายแดน:0; ความกว้าง:ลด 50%; ลอย:ซ้าย; } } # บล็อกเก็บสมัครใช้การป้อนข้อมูล [ประเภท = 'ส่ง'] { พื้นหลัง:URL ( "images / ต่ำ button.png") ไม่มีซ้ำ 0 0; การขยายความ:0; ขอบ:0; ความสูง:44px; ชายแดน:0; ความกว้าง:180px; สี: # fff; text-align:ศูนย์ }
วิธีเพิ่มสมาชิก
ตอนนี้เราจะลงทะเบียนผู้ใช้บน Jetpack โดยใช้ " jQuery.ajax '
$("# บล็อกเก็บสมัครใช้งาน").ส่ง(ฟังก์ชัน(e) { e.ป้องกันไม่ให้(); $("LoadingMessage # # failMessage").ซ่อน().เอาออก(); คือ __button = $('# อินพุตบล็อกเก็บสมัครใช้งาน [type = 'ส่ง']).ได้รับ(0); $('# อินพุตบล็อกเก็บสมัครใช้งาน [type = 'ส่ง']).หลังจาก(codeable_spinner); คือ __DATA = $(นี้).ทำให้เป็นอันดับ() + '& ปลอดภัย =' + codeableVars.ความปลอดภัย + '& action = blog_archive_signup'; $.เสา(codeableVars.ajaxurl,__DATA,ฟังก์ชัน(คำตอบ) { ปลอบใจ.เข้าสู่ระบบ(คำตอบ); if (คำตอบ.ความสำเร็จ) { $("#codeable_spinner").replaceWith("ความสำเร็จ").ความล่าช้า(5000).fadeOut('ช้า').เอาออก(); } อื่น { $("#codeable_spinner").replaceWith(""+คำตอบ.ข่าวสาร+"").ความล่าช้า(5000).fadeOut('ช้า').เอาออก(); } }) })
ตอนนี้เราต้องบันทึกผู้ใช้ใน Jetpack และ Intercom ฉันค้นหาโค้ดของ Jetpack เพื่อดูว่ามันเพิ่มสมาชิกได้อย่างไร และพบคลาส "Jetpack_Subscriptions" และวิธีการสแตติกที่ใช้อีเมลเป็นพารามิเตอร์ และสำหรับอินเตอร์คอม คำขอ CURL ง่ายๆ ก็เพียงพอแล้ว
add_action('Wp_ajax_landing_page_signup', 'Blog_archive_signup')); add_action('Wp_ajax_nopriv_landing_page_signup', 'Blog_archive_signup'); ฟังก์ชัน blog_archive_signup() { ข้อมูล $ = แถว( 'อีเมล' => $ _ POST['Blog_archive_partition_email'], 'Custom_attributes' => แถว('Subscribed_via' => 'Blog_archive_partition') ); $ โทร = wswp_make_api_call(ข้อมูล $); การตอบสนอง $ = แถว("ความสำเร็จ"=>จริง,"ข้อความ" => "Bpa_signup"); $ สมัคร = Jetpack_Subscriptions::สมัครเป็นสมาชิก($ _REQUEST[$ คำนำหน้า.'_email']); delete_transient('Wpcom_subscribers_total'); stats_update_blog(); // สมาชิกรีเฟรชนับใน WP-ผู้ดูแลระบบ wp_send_json(การตอบสนอง $); ทางออก(); } ฟังก์ชัน wswp_make_api_call(ข้อมูล $) { $ ขด = curl_init(); curl_setopt_array($ ขด, แถว( CURLOPT_HTTPHEADER => แถว('เนื้อหา-Type: application / JSON', 'ยอมรับ: application / JSON'), CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'Https://api.intercom.io/users', CURLOPT_POST => 1, CURLOPT_USERPWD => INTERCOM_APP_ID . "" . INTERCOM_API_KEY, CURLOPT_POSTFIELDS => json_encode(ข้อมูล $), CURLOPT_HEADER => เท็จ, )); // หมายเหตุ: คุณจะต้องตั้งค่าคงที่สำหรับรหัสแอปและคีย์ API กับค่าที่เหมาะสม $ ผลตอบแทน = json_decode(curl_exec($ ขด), จริง); curl_close($ ขด); กลับ $ ผลตอบแทน; }
นั่นคือทั้งหมด ตอนนี้เมื่อมีคนกรอกแบบฟอร์มนั้นพวกเขาจะได้รับอีเมลยืนยันทันทีบน Jetpack ว่าสมัครแล้วและจะได้รับอีเมลที่มีบทความของคุณทันทีที่โพสต์
เบื้องหลังพวกเขาลงทะเบียนในอินเตอร์คอมด้วยป้ายกำกับ “Subscribed_Via => พาร์ติชันเก็บถาวรบล็อก” ครั้งต่อไปฉันจะบอกคุณว่าคุณสามารถส่งสมาชิกปลั๊กอิน Thrive Leads ไปยัง Intercom ได้อย่างไร données ข้อมูลเพิ่มเติมที่จะช่วยให้คุณสามารถแยกแยะความแตกต่างได้ทั้งหมด
หากคุณไม่เข้าใจถึงประโยชน์ของ " codeableVars.security คุณต้องรู้ว่ามันมี " เอกอัครสมณทูต "WordPress โดยปกติสิ่งนี้จะเกิดขึ้นกับฟังก์ชั่น php " wp_nonce_field () ในรูปแบบ แต่สคริปต์ที่มีเพียง JavaScript ฟิลด์ nonce นั้นมีอยู่ในฟังก์ชั่น JS " wp_localize_script () '
นั่นคือทั้งหมดที่ต้องทำสำหรับบทช่วยสอนนี้ อย่าลังเลที่จะถามคำถามเราหรือแบ่งปันการสอนกับเพื่อน ๆ ของคุณบนเครือข่ายสังคมออนไลน์