ฉันมีโพสต์ที่ไม่ได้เผยแพร่หลายโพสต์ในเว็บไซต์ Wordpress ของฉันและฉันพยายามทำให้ผู้ใช้ทั่วไป (ที่ไม่ได้เข้าสู่ระบบ) สามารถเข้าถึงได้โดยใช้ post slugs ( site.com/post-here
) ฉันเข้าใจว่าอาจไม่ใช่วิธีปฏิบัติที่ดีที่สุด แต่เพื่อจุดประสงค์พิเศษของฉันสิ่งนี้จำเป็นต้องทำ
ฉันได้ลองเพิ่มข้อมูลโค้ดต่อไปนี้ในfunctions.php
ไฟล์ของฉัน:
function enable_view_drafts() {
$role = get_role( 'subscriber' );
$role->add_cap( 'read_private_posts' );
$role->add_cap( 'edit_posts' );
}
add_action( 'after_setup_theme', 'enable_view_drafts');
ฉันได้พยายามยังเบ็ดแทนinit
after_setup_theme
ไม่มีโชค.
ความเข้าใจของฉันคือการเปลี่ยนแปลงบทบาทจะถูกบันทึกลงในฐานข้อมูลดังนั้นจะต้องทำเพียงครั้งเดียว นั่นคือเหตุผลที่ฉันใช้after_setup_theme
hook เพื่อเรียกใช้ฟังก์ชัน
แต่เมื่อฉันพยายามเข้าถึงหน้านี้ในฐานะผู้ใช้ทั่วไปฉันกำลังแสดงหน้า 404 แทนที่จะแสดงเนื้อหาของโพสต์ ฉันได้ลองโหลด URL ตัวอย่าง ( site.com/?p=212&preview=true
) แล้ว แต่ก็ไม่ได้ผล
นี่คือการคาดเดาของฉัน:
- ผู้ใช้ปกติมีไม่เพียงพอที่
caps
จะอ่านโพสต์แบบร่าง - การทดสอบและการดูโพสต์แบบร่างบนส่วนหน้าเป็นไปไม่ได้สำหรับผู้ใช้ (รวมถึงผู้ดูแลระบบ)
ฉันต้องทำการเปลี่ยนแปลงอะไรเพื่อที่จะบรรลุสิ่งที่ฉันพยายามทำ หากเป็นไปไม่ได้คุณจะแนะนำวิธีแก้ปัญหาอะไรอีกบ้าง
หมายเหตุ:ฉันไม่ได้มองหาโซลูชันที่ใช้ปลั๊กอิน