การจำกัดการเข้าถึงหน้า WordPress & การสร้างพื้นที่สำหรับสมาชิก
เผยแพร่แล้ว: 2016-02-10กำลังมองหาที่จะเผยแพร่หลักสูตรระดับพรีเมียมหรือผลิตภัณฑ์ข้อมูลบางอย่าง? คุณอาจต้องการจำกัดเนื้อหา WordPress เฉพาะผู้อ่าน/สมาชิกที่ชำระเงินเท่านั้น และซ่อนเนื้อหาสำหรับผู้เข้าชมทั่วไป ด้วย WordPress คุณสามารถปกป้องข้อมูลดังกล่าวได้อย่างง่ายดายโดยใช้การจำกัดเนื้อหาที่หลากหลาย หมายความว่า WordPress รองรับได้ทันทีตั้งแต่แกะกล่องหรือด้วยความช่วยเหลือของปลั๊กอิน
เราจะพูดถึงวิธีการต่างๆ เหล่านี้ในบทความนี้ เราจะหารือเกี่ยวกับ:
- ความแตกต่างระหว่างหน้าส่วนตัวที่ป้องกันด้วยรหัสผ่านและหน้าส่วนตัว (และในกรณีที่ทั้งสองวิธีไม่ตรงกัน)
- แฮ็ค 2 นาทีเพื่อสร้างส่วนสมาชิกอย่างง่ายบนไซต์ WordPress ของคุณ (โดยไม่ต้องใช้ปลั๊กอิน)
- การทำให้บทความฐานความรู้ของคุณแสดงในส่วนสมาชิกของคุณ (ส่วนนี้มีไว้สำหรับคุณ หากคุณใช้ธีม KnowAll หรือโซลูชันฐานความรู้ Heroic)
- ปลั๊กอินฟรีที่จะช่วยให้คุณควบคุมการเข้าถึงหน้า โพสต์ และเนื้อหาอื่นๆ ของไซต์
เริ่มต้นด้วยการทำความเข้าใจความแตกต่างระหว่างเนื้อหาที่มีการป้องกันด้วยรหัสผ่านและเนื้อหาส่วนตัว
สร้างฐานความรู้ส่วนตัวที่ค้นหาได้ง่ายด้วย Heroic Knowledge Base
รับปลั๊กอินป้องกันด้วยรหัสผ่านเทียบกับส่วนตัว
วิธีที่ง่ายที่สุดในการจำกัดการเข้าถึงหน้าใดหน้าหนึ่ง (หรือเนื้อหาโพสต์อื่นๆ) คือการใช้การตั้งค่า ' การมองเห็น ' ที่ WordPress กำหนดไว้เป็นค่าเริ่มต้น
คุณจะพบตัวเลือกเหล่านี้บนแผงด้านขวาทุกที่ที่คุณเพิ่มหน้าหรือโพสต์ใหม่:

ภายใต้การตั้งค่าการเปิดเผย มี 3 ตัวเลือกสำหรับการเปิดเผยหน้า (หรือโพสต์):
- สาธารณะ – ภายใต้การตั้งค่าเริ่มต้นนี้ เนื้อหาจะพร้อมใช้งานสำหรับผู้เยี่ยมชมไซต์ทั้งหมด
- ป้องกันด้วยรหัสผ่าน – ที่นี่เฉพาะผู้อ่านที่มีรหัสผ่านของหน้า (หรือโพสต์) เท่านั้นที่สามารถปลดล็อกการเข้าถึงเนื้อหาได้
- ส่วนตัว – ตัวเลือกนี้ให้สิทธิ์การเข้าถึงแก่ผู้ใช้เฉพาะตามบทบาทของพวกเขา
ตัวเลือกการมองเห็นที่สองและสามช่วยให้คุณจำกัดเนื้อหาบางอย่างได้
มาดูกันว่าอย่างไร:
1. รหัสผ่านป้องกันหน้า/โพสต์
นี่เป็นตัวเลือกที่ตรงไปตรงมามาก ช่วยให้คุณสามารถใช้รหัสผ่านเพื่อป้องกันหน้าและโพสต์แต่ละหน้าได้ง่ายๆ โดยกำหนดรหัสผ่านให้กับหน้านั้น (หรือโพสต์)
ใครก็ตามที่รู้รหัสผ่านสามารถเข้าถึงเนื้อหาได้
ตอนนี้ ตัวเลือกนี้ใช้ได้ถ้าคุณมีหน้าหรือสองหน้าที่คุณต้องการซ่อนจากบุคคลทั่วไป อย่างไรก็ตาม คุณสามารถจินตนาการได้ว่าถ้าคุณมีบทความมากกว่า 100 บทความที่ต้องปกป้อง คุณจะต้องดูแลและแจกจ่ายรหัสผ่าน 100 รายการกับผู้อ่านที่มีสิทธิ์ทั้งหมด
ปัญหาอีกประการของวิธีนี้คือ หากผู้ใช้พบเนื้อหาดังกล่าวหรือคลิกลิงก์ไปยังหน้าที่มีการป้องกันด้วยรหัสผ่าน ก็จะเห็นหน้าจอถามหารหัสผ่าน ดังนั้นพวกเขาจะรู้ว่ามีเนื้อหาที่มีการป้องกันหรือพิเศษเฉพาะบนไซต์ของคุณ . ดังนั้น ถ้าคุณไม่ต้องการให้ผู้ที่ไม่มีสิทธิ์เข้าถึงเรียนรู้เกี่ยวกับเนื้อหานี้ วิธีนี้จะไม่แก้ไขจุดประสงค์ของคุณ
ภาพหน้าจอต่อไปนี้แสดงตัวอย่างทรัพยากรที่ป้องกันด้วยรหัสผ่าน:

นอกจากนี้ การป้องกันหน้าด้วยรหัสผ่านจะไม่ลบหน้านั้นออกจากเว็บไซต์หากคุณไม่ได้รับอนุญาตให้ดู แต่จะมีการเพิ่มคำว่า ' Protected: ' ที่ส่วนต้นของชื่อ ซึ่งมีการใช้งาน แต่ไม่เหมาะหากคุณไม่ต้องการให้คนอื่นรู้ว่ามีเนื้อหาส่วนตัวบนเว็บไซต์

2) การทำเครื่องหมายหน้า / โพสต์ส่วนตัว
เพจส่วนตัวไม่ต้องใช้รหัสผ่านส่วนตัวในการปลดล็อค การเข้าถึงหน้าดังกล่าวจะได้รับหลังจากตรวจสอบบทบาทของผู้ใช้แล้ว โดยทั่วไป มีเพียงผู้ดูแลเว็บไซต์หรือผู้แก้ไขเท่านั้นที่สามารถดูหน้าส่วนตัวดังกล่าวได้
หน้าที่ระบุว่าเป็นส่วนตัวมีลักษณะดังนี้:

ข้อแตกต่างที่สำคัญอื่น ๆ ระหว่างการป้องกันด้วยรหัสผ่านและหน้าส่วนตัวก็คือ หากคุณไม่มีสิทธิ์เพียงพอที่จะดูหน้า หน้านั้นจะไม่แสดงบนเว็บไซต์ทุกที่
สิ่งนี้มีประโยชน์อย่างยิ่งหากคุณไม่ต้องการให้ผู้เยี่ยมชมเว็บไซต์โดยเฉลี่ยรู้ว่ามีเนื้อหาเพิ่มเติมบนเว็บไซต์

ก็เป็นที่ชัดเจน:
จากสองตัวเลือกนี้ มีเพียงการตั้งค่าการเปิดเผยส่วนตัวเท่านั้นที่สมเหตุสมผล หากคุณต้องการจำกัดเนื้อหาจำนวนมากบนไซต์ของคุณ
แต่อย่างที่คุณบอกได้ คุณไม่สามารถให้ผู้ใช้ทุกคนเข้าถึงระดับผู้ดูแลระบบหรือผู้แก้ไขบนไซต์ของคุณได้ ซึ่งหมายความว่าคุณต้องแนะนำระดับสมาชิกอื่น ( สมาชิก ) จากนั้นตั้งค่าระดับการมองเห็นของเพจส่วนตัวเป็นระดับของสมาชิก ด้วยวิธีนี้ สมาชิกทั้งหมดของคุณจะสามารถเข้าถึงเนื้อหาที่ถูกจำกัดทั้งหมดได้
ต่อไปนี้คือวิธีที่คุณสามารถใช้ระบบการเข้าถึงแบบง่ายนี้โดยการตั้งค่าส่วนสมาชิก:
การสร้างพื้นที่สมาชิกอย่างง่าย
ขั้นแรก ให้สร้างชุดของเพจที่จะสามารถใช้ได้เฉพาะสมาชิกเท่านั้น ทำให้หน้าเหล่านี้เป็นส่วนตัว
ในการดำเนินการนี้ คุณต้องเพิ่มฟังก์ชันและการดำเนินการใหม่ลงในไฟล์ functions.php ในธีมของคุณ
ดังนั้น ไปที่ไฟล์ functions.php ในธีมของคุณ และเพิ่มโค้ดต่อไปนี้ลงไป:
/**
* Add read_private_posts capability to subscriber
* Note this is saves capability to the database on admin_init, so consider doing this once on theme/plugin activation
*/
add_action ('admin_init','add_sub_caps');
function add_sub_caps() {
global $wp_roles;
$role = get_role('subscriber');
$role->add_cap('read_private_posts');
}ทั้งหมดนี้คือเปลี่ยนความสามารถ (สิทธิ์) ที่กำหนดให้กับบทบาทสมาชิกเพื่อรวมความสามารถในการอ่านโพสต์ส่วนตัว โปรดทราบว่านี่เป็นการดำเนินการครั้งเดียว ดังนั้นจึงควรเปิดใช้งานธีม/การเปิดใช้งานปลั๊กอิน หรือแสดงความคิดเห็นเกี่ยวกับโค้ดเมื่อเสร็จสิ้น ดูบันทึกคำแนะนำของ Codex ใน add_cap นอกจากนี้ หากคุณต้องการลบความสามารถ คุณจะต้องเปลี่ยนโค้ดเพื่อใช้ฟังก์ชัน remove_cap

การตั้งค่าการเข้าสู่ระบบสำหรับส่วนสมาชิก
เมื่อส่วนสมาชิกของคุณพร้อมแล้ว ก็ถึงเวลาที่จะทำให้สมาชิกลงชื่อเข้าใช้ได้ง่าย แน่นอนว่าผู้ใช้ของคุณสามารถใช้ลิงก์ yourwebsite.com/wp-login.php ได้ แต่คุณจะยอมรับว่านี่ไม่ใช่ ใช้งานง่ายมาก
ในการตั้งค่ากล่องล็อกอินที่ใช้งานง่าย คุณสามารถใช้ปลั๊กอิน styler หน้าเข้าสู่ระบบได้
เครื่องมือจัดรูปแบบหน้าเข้าสู่ระบบช่วยให้คุณออกแบบหน้าเข้าสู่ระบบสำหรับเว็บไซต์ WordPress ของคุณ คุณสามารถเพิ่มรายการที่เรียกว่า 'เข้าสู่ระบบ' ลงในเมนูหลักของคุณ และเชื่อมโยงไปยังหน้าเข้าสู่ระบบแบบกำหนดเองที่ออกแบบด้วยเครื่องมือจัดรูปแบบหน้าเข้าสู่ระบบ
มีปลั๊กอินอื่นๆ อีกสองสามตัวเช่นกัน แต่ส่วนใหญ่ยังไม่ได้รับการอัปเดตเป็นเวลาอย่างน้อยหนึ่งปี ดังนั้นโปรดตรวจสอบว่าปลั๊กอินเหล่านั้นเข้ากันได้ก่อนที่จะใช้งาน
เมื่อคุณทำให้เนื้อหาส่วนตัวของคุณพร้อมใช้งานสำหรับสมาชิกของคุณผ่านหน้าจอการเข้าสู่ระบบที่เป็นมิตร คุณก็ควรดำเนินการเสร็จสิ้น
ในส่วนถัดไป เราจะมาดูกันว่าคุณจะทำให้บทความฐานความรู้ของคุณ (สนับสนุนโดย Heroic Knowledge Base) ปรากฏขึ้นได้อย่างไรในส่วนสมาชิกของคุณ
ให้ส่วนสมาชิกรวมบทความจาก Heroic Knowledge Base
หากคุณใช้ธีม KnowAll หรือปลั๊กอิน Heroic Knowledge Base เพื่อขับเคลื่อนฐานความรู้ของเว็บไซต์ของคุณ คุณจะสามารถทำให้สมาชิกสามารถเข้าถึงเนื้อหาสนับสนุนของคุณได้จากในส่วนสมาชิก!
เริ่มต้นด้วยการติดตั้งปลั๊กอิน Advanced Custom Fields
ก่อนหน้านี้ เราได้สร้างกลุ่มฟิลด์แบบกำหนดเองที่เรียกว่า ' ตัวเลือกผลิตภัณฑ์ '
สำหรับบทช่วยสอนนี้ ฉันกำลังเปลี่ยนชื่อ 'Product Options' เป็น ' Knowledge Base Categories ' สิ่งต่อไปที่ต้องทำคือแก้ไขกลุ่มนี้เพื่อรวมทั้งเพจและโพสต์ ขณะนี้ ฟิลด์กำหนดเองถูกตั้งค่าให้แสดงเฉพาะเมื่อประเภทโพสต์เป็นผลิตภัณฑ์ แต่ตอนนี้เราต้องการที่จะสามารถนำไปใช้กับเพจได้เช่นกัน
ในการดำเนินการนี้ ให้ไปที่ ฟิลด์กำหนดเอง ในส่วนผู้ดูแลระบบ และแก้ไขตัวเลือกผลิตภัณฑ์

เมื่อตั้งค่าแล้ว ให้สร้างบทความฐานความรู้ที่คุณตั้งใจให้ใช้ได้เฉพาะสมาชิกที่ชำระเงินแล้ว ตั้งค่าหน้าเหล่านี้เป็นส่วนตัวเพื่อไม่ให้เข้าถึงได้โดยตรง กำหนดหมวดหมู่ให้กับพวกเขา พูดว่า ' หมวดหมู่เนื้อหาที่จำกัด ' หลังจากนั้น คุณสามารถเลือกหมวดหมู่นี้เพื่อแสดงบนหน้าที่จำกัดของคุณได้

ขั้นตอนสุดท้ายคือการแก้ไขไฟล์ page.php เพื่อแสดงหมวดหมู่ที่เลือก
สำหรับการทำเช่นนี้ เราจะกลับไปที่ฟังก์ชันที่เราสร้างขึ้นเพื่อเติมแท็บ WooCommerce ที่สามที่มีบทความฐานความรู้ในโพสต์ก่อนหน้าของฉัน คุณสามารถใช้ซ้ำได้ที่นี่ เพียงสะท้อนฟังก์ชันใน page.php ในธีมย่อยเพื่อแสดงหมวดหมู่บทความที่เลือกสำหรับหน้าใดก็ตาม
รหัส page.php ของคุณควรมีลักษณะดังนี้:
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
//loop start
while ( have_posts() ) : the_post();
//include the page content template.
get_template_part( 'template-parts/content', 'page' );
//check and load the woo_knowledge_base_content
if( function_exists( 'woo_knowledge_base_content' ) ){
echo woo_knowledge_base_content();
} else {
echo 'function woo_knowledge_base_content() missing';
}
//load comment template
if ( comments_open() || get_comments_number() ) {
comments_template();
} //loop end
endwhile;
?>
</main><!-- .site-main -->
<?php get_sidebar( 'content-bottom' ); ?>
</div> <!-- .content-area -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>เปลี่ยนบรรทัดเดียวคือ
echo woo_knowledge_base_content();
หน้าของคุณควรรวมหมวดหมู่บทความฐานข้อมูลองค์ความรู้ที่เลือกไว้ และจะมีลักษณะดังนี้:

ด้วยวิธีนี้ คุณควรจะแสดงบทความจากฐานความรู้ของคุณในส่วนสมาชิกของเว็บไซต์ของคุณได้สำเร็จ
ปลั๊กอินฟรีสองสามตัวเพื่อจำกัดเนื้อหาบนไซต์ WordPress
หากคุณไม่ต้องการเขียนโค้ด ให้ลองติดตั้งปลั๊กอินตัวใดตัวหนึ่งต่อไปนี้ ทั้งหมดนี้สามารถช่วยคุณปกป้องเนื้อหาของคุณจากผู้ใช้ที่ไม่ได้ลงทะเบียน
สมาชิกแบบชำระเงิน Pro
เมื่อใช้ Paid Memberships Pro คุณจะมั่นใจได้ว่ามีเพียงสมาชิกเท่านั้นที่สามารถเข้าถึงองค์ประกอบต่างๆ ของเว็บไซต์ของคุณ เช่น หน้า โพสต์ หมวดหมู่ ฟอรัม ดาวน์โหลด เนื้อหาสนับสนุน และอื่นๆ
s2Member
s2Member เป็นปลั๊กอิน WordPress ตัวอื่นที่อนุญาตให้มีการจำกัดเนื้อหา เมื่อใช้ s2Member คุณสามารถจำกัดการเข้าถึงโพสต์ เพจ หมวดหมู่ แท็ก ไฟล์ที่ดาวน์โหลดได้ ฟอรัม และไฟล์อื่นๆ เฉพาะผู้ใช้ที่ลงทะเบียนของคุณ
สมัครสมาชิกง่าย
Simple Membership มาพร้อมกับแดชบอร์ดที่เป็นมิตรซึ่งช่วยให้คุณปกป้องเนื้อหาเฉพาะสำหรับสมาชิก เช่น โพสต์ เพจ แกลเลอรี่รูปภาพ เอกสารแนบ และอื่นๆ จากผู้เยี่ยมชมไซต์ทั่วไป
นอกจากนี้ คุณยังสามารถตรวจสอบ WP-Members and Membership & Content Restriction – Paid Member Subscriptions แม้แต่ปลั๊กอินเหล่านี้ยังช่วยให้คุณล็อกเนื้อหาพรีเมียมที่อนุญาตให้เข้าถึงได้เฉพาะผู้ใช้ที่ลงทะเบียน
ปิดท้าย…
คุณอาจต้องการอะไรก็ได้ระหว่างความสามารถในการจำกัดเนื้อหาขั้นพื้นฐานถึงขั้นสูง ทั้งนี้ขึ้นอยู่กับเป้าหมายของคุณ แต่ตอนนี้คุณรู้วิธีใช้งานส่วนสมาชิกแบบง่ายๆ ด้วยตัวคุณเองแล้ว คุณยังรู้จักปลั๊กอินที่ดีที่สุดให้เลือกอีกด้วย
ลองใช้รหัสหรือปลั๊กอินและแบ่งปันประสบการณ์ของคุณด้านล่าง
