วิธีปรับแต่งหน้าที่มีการป้องกันด้วยรหัสผ่าน

เผยแพร่แล้ว: 2019-02-05

วิธีปรับแต่งหน้าป้องกันด้วยรหัสผ่าน

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

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

การออกแบบสำหรับโพสต์และเพจเริ่มต้น

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

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

CSS ที่กำหนดเองสำหรับเพจที่ได้รับการป้องกัน

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

เราสามารถเห็นองค์ประกอบทั้งหมดที่เราต้องการจัดรูปแบบโดยคลิกขวาที่บล็อกเนื้อหาที่ป้องกันด้วยรหัสผ่านและตรวจสอบพวกเขา

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

CSS

 .post-password-required { /* รายการหลักของเรา */
    เส้นขอบ: 1px ทึบ #f1f1f1;
    กล่องเงา: 0 10px 20px rgba(0,0,0,0.10); /* เงาหล่นสไตล์วัสดุ */
    ช่องว่างภายใน: 50px 20px;
    รัศมีเส้นขอบ: 4px; /*ขอบโค้งมน*/
    ภาพพื้นหลัง: url('/wp-content/uploads/2019/02/background-image.jpg'); /* อัปโหลดรูปภาพของคุณเองและคัดลอกเส้นทางที่นี่ */
    ขนาดพื้นหลัง: ปก;
    พื้นหลังตำแหน่ง: ศูนย์;
}

.post-password-required .et_pb_section {
    พื้นหลังสี: โปร่งใส; /* เป็นสีขาวโดยปริยาย */
}

.post-password-required .et_pb_button {
    สีพื้นหลัง: #C5283D;
    เส้นขอบ: ไม่มี;
    สี: #fff;
    การแปลงข้อความ: ตัวพิมพ์ใหญ่;
    ขนาดตัวอักษร: 16px;
    ความกว้าง: 110px;
    ขอบบน: -14px;
    ความสูง: 50px;
    รัศมีเส้นขอบ: 32px; /* ปุ่มกลม */
    การเปลี่ยนแปลง: .6s ทำให้ทุกอย่างง่ายขึ้น /* ความเร็วในการเปลี่ยนสีเมื่อโฮเวอร์ */
}

.post-password-required .et_pb_button:hover {
    สีพื้นหลัง: #481D24;
}

.post-password-required .et_pb_button:หลัง {
    แสดง: ไม่มี;
}

.post-password-required .et_password_protected_form อินพุต {
    ความกว้าง: คำนวณ(100% - 120px);
    ลอย: ซ้าย;
    รัศมีเส้นขอบ: 32px;
    สีพื้นหลัง: #fff;
    เส้นขอบ: 2px ทึบ #f1f1f1;
    การเปลี่ยนแปลง: .6s ทำให้ทุกอย่างง่ายขึ้น
}

.post-password-required .et_password_protected_form p อินพุต:โฟกัส {
    เส้นขอบ: 2px ทึบ # 481D24; /* เค้าร่างหนาเมื่อพิมพ์ */
}

.single-post .post-password-required .et_post_meta_wrapper:last-child {
    แสดง: ไม่มี; /* ลบข้อความแสดงความคิดเห็นแปลกๆ */
}

.post-password-required .entry-title:ก่อน {
    เนื้อหา: "\7e"; /* ตั้งค่าไอคอนแม่กุญแจ */
    ตระกูลแบบอักษร: 'etModules'; /* ตั้งค่าฟอนต์ไอคอน */
    ระยะขอบขวา: 10px;
}

.et_password_protected_form > p {
    ระยะขอบล่าง: 20px;
}

.page #main-content .post-password-required, .post #main-content .post-password-required {
    ความกว้างสูงสุด: 980px;
    ความกว้าง: 90%;
    ระยะขอบ: 13vw อัตโนมัติ;
}

มีการแสดงความคิดเห็นโค้ดไว้ตลอด ดังนั้นคุณจึงสามารถเห็นได้ชัดเจนว่าโค้ดนี้ใช้ทำอะไร คุณจะเห็นว่าเราใช้ :before pseudo class เพื่อเพิ่มไอคอนแม่กุญแจให้กับชื่อเรื่อง นอกจากนี้เรายังได้กำหนดแนวปฏิบัติเกี่ยวกับการดูความคิดเห็นไม่ให้แสดงในโพสต์ที่มีการป้องกันอีกต่อไป

สิ่งต่อไปที่เราต้องทำคือตรวจสอบให้แน่ใจว่าหน้านี้ดูดีบนหน้าที่ได้รับการป้องกันซึ่งสร้างขึ้นโดยใช้ Divi Builder

การปรับแต่งหน้าและโพสต์ Divi ที่ป้องกันด้วยรหัสผ่าน

เมื่อเราใช้ตัวแก้ไขเริ่มต้น องค์ประกอบ <article> ที่เรากล่าวถึงก่อนหน้านี้จะปรากฏภายในองค์ประกอบ div ที่พื้นที่ด้านซ้าย ซึ่งมีรูปแบบความกว้าง การเติม และระยะขอบที่นำมาประกอบกันอยู่แล้ว ซึ่งหมายความว่ากล่องป้องกันด้วยรหัสผ่านของเราดูดีทีเดียว เมื่อใช้ตัวสร้าง Divi แท็ก <article> จะถูกเพิ่มเข้าไปโดยตรงใน div ของเนื้อหาหลัก ซึ่งถูกกำหนดให้เป็นความกว้างเต็มและมีสไตล์น้อยที่สุด เนื่องจากต้องการรูปแบบ Divi ไม่ใช่รูปแบบรหัสผ่าน

เนื่องจากฟอร์มของเราเป็นสิ่งเดียวในเพจ จึงดูเหมือน…

ไม่เหมาะ สไตล์ของเรายังคงถูกนำไปใช้กับมัน แต่ดูแปลกที่มีส่วนสไตล์เล็ก ๆ ของเราประกบระหว่างส่วนหัวและส่วนท้าย สิ่งที่เราต้องทำคือให้พื้นที่บางส่วน เราจะใช้ระยะขอบและความกว้างสูงสุดคงที่ในการทำเช่นนั้น เนื่องจาก #main-content ID จะใช้เฉพาะกับเพจที่ขับเคลื่อนด้วย Divi เราจึงสามารถเพิ่มสิ่งนั้นไว้ข้างหน้าตัวเลือกของเราเพื่อให้แน่ใจว่ามีผลกับหน้าเว็บที่เราต้องการเท่านั้น

 .page #main-content .post-password-required , .post #main-content .post-password-required {
   ความกว้างสูงสุด : 980px ;
   ความกว้าง : 90% ;
   ระยะขอบ : 10vw อัตโนมัติ ;
} 


นั่นดีกว่า.

การลบหน้าที่ป้องกันด้วยรหัสผ่านจากคลังเก็บและแถบด้านข้าง

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

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

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

 ฟังก์ชั่น remove_ppp_filter( $ที่ไหน = '' ) {

// เฉพาะผู้ดูแลระบบและผู้ที่ได้รับอนุญาตให้แก้ไขข้อความส่วนตัวเท่านั้น...

if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {

$where .= " และ post_password = ''";

}

ส่งคืน $ ที่ไหน;

}

add_filter( 'posts_where', 'remove_ppp_filter' );

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

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