คำถามติดแท็ก user-roles

ชื่อสำหรับชุดของความสามารถของผู้ใช้

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

4
ลบความสามารถสำหรับผู้ใช้รายอื่นเพื่อดูผู้ดูแลระบบในรายการผู้ใช้หรือไม่
( หมายเหตุของผู้ดำเนินรายการ:ชื่อดั้งเดิมคือ "ลบผู้ดูแลออกจากเมนูผู้ใช้") ฉันได้สร้างบทบาทผู้ดูแลระบบไคลเอนต์ซึ่งเป็นเครื่องมือแก้ไขที่มีความสามารถในการเพิ่ม / ลบผู้ใช้ บทความ" Editor สามารถสร้างผู้ใช้ใหม่ยกเว้นผู้ดูแลระบบ "เป็นเลิศในการช่วยให้บทบาทผู้ดูแลระบบไคลเอนต์ใหม่ของฉันไม่สามารถแก้ไขหรือสร้างผู้ใช้ True admin อย่างไรก็ตามสิ่งที่เหมาะสมที่สุดคือการซ่อนผู้ดูแลระบบจากผู้ดูแลระบบของลูกค้าเมื่อพวกเขาดูผู้ใช้ ฉันต้องการให้พวกเขา"เชื่อ"ว่าพวกเขาเป็นผู้ดูแลเว็บไซต์ของพวกเขา แต่ฉันไม่ต้องการให้พวกเขาสามารถดูบทบาท / ผู้ใช้ของฉันได้โดยการซ่อนบทบาท"ผู้ดูแลระบบ"จากพวกเขาเมื่อพวกเขาอยู่ใน"ผู้ใช้"แผงหน้าปัด.

3
วิธีรับบทบาทของผู้ใช้
ฉันต้องได้รับบทบาทที่เกี่ยวข้องกับผู้ใช้ - ไม่ใช่ "ผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน" ฉันกำลังใช้ Buddypress (ไม่ใช่ว่าควรจะเป็นไปตามลักษณะของคำถามนี้) และฉันอยู่ในbp_members()วง ฉันจะเรียกคืนบทบาทของผู้ใช้ที่ฉันกำลังรายงานในลูปในเวลาที่กำหนดได้อย่างไร? ขอบคุณ
15 user-roles 

2
จะอนุญาตให้บทบาทผู้ใช้สร้างผู้ใช้ใหม่ภายใต้บทบาทที่ต่ำกว่าระดับของเขาเท่านั้นได้อย่างไร
ฉันมีสามบทบาทพิเศษในเว็บไซต์ของฉัน คุณหมอ พนักงานต้อนรับ แขก บทบาทเหล่านั้นจะถูกเพิ่มโดยรหัสต่อไปนี้: * adding Doctor role */ $doctor_role = add_role('Doctor', __('Doctor'), array('read'=>'true')); /* adding Receptionist role */ $receptionist_role = add_role('Receptionist', __('Receptionist'), array('read'=>'true')); /* adding Guest role */ $guest_role = add_role('Guest', __('Guest'), array('read'=>'true')); โดยค่าเริ่มต้นAdministratorบทบาทสร้างบทบาทอื่น ๆ ทั้งหมด แต่ฉันต้องการ จำกัด บทบาทการมอบหมายนี้ตามระดับผู้ใช้ ที่ฉันหมายถึงคือ: ผู้ดูแลระบบ - ควรจะสามารถสร้างผู้ใช้ทุกคนได้โดยค่าเริ่มต้น หมอ - ควรจะสามารถสร้างReceptionistและกำหนดGuestบทบาทผู้ใช้ได้เท่านั้น Receptionist - …

2
จะเพิ่มความสามารถให้กับบทบาทผู้ใช้ได้อย่างไร
ฉันกำลังจัดการเครือข่าย Wordpress และต้องการเพิ่มความสามารถของผู้ใช้ที่ไม่ได้กรองให้กับบทบาทผู้ใช้ที่กำหนดไว้ล่วงหน้าของ Admin ในการติดตั้ง Wordpress แบบมาตรฐานบัญชีผู้ดูแลระบบจะมีความสามารถนี้อยู่แล้ว แต่ในการติดตั้ง MU ผู้ดูแลระบบเท่านั้นที่มีความสามารถนี้ Wordpress บทบาทและความสามารถ ฉันจะเพิ่มบทบาทผู้ดูแลระบบจากภายในธีมหรือปลั๊กอินได้อย่างไร

6
ฉันจะทำให้ทุกคนสามารถเข้าถึงโพสต์ฉบับร่างได้อย่างไร
ฉันมีโพสต์ที่ไม่ได้เผยแพร่หลายโพสต์ในเว็บไซต์ 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_themehook เพื่อเรียกใช้ฟังก์ชัน แต่เมื่อฉันพยายามเข้าถึงหน้านี้ในฐานะผู้ใช้ทั่วไปฉันกำลังแสดงหน้า 404 แทนที่จะแสดงเนื้อหาของโพสต์ ฉันได้ลองโหลด URL ตัวอย่าง ( site.com/?p=212&preview=true) แล้ว แต่ก็ไม่ได้ผล นี่คือการคาดเดาของฉัน: ผู้ใช้ปกติมีไม่เพียงพอที่capsจะอ่านโพสต์แบบร่าง การทดสอบและการดูโพสต์แบบร่างบนส่วนหน้าเป็นไปไม่ได้สำหรับผู้ใช้ (รวมถึงผู้ดูแลระบบ) ฉันต้องทำการเปลี่ยนแปลงอะไรเพื่อที่จะบรรลุสิ่งที่ฉันพยายามทำ …

1
add_role () ทำงานเพียงครั้งเดียว?
ฉันประหลาดใจที่ค้นพบว่า add_role () แก้ไขฐานข้อมูลและล้มเหลวหากมีบทบาทอยู่แล้ว มีความหมายสองประการที่นี่ร้ายแรงกว่าอีกข้อหนึ่ง: 1) หากคุณกำลังพัฒนาและอัปเดตรหัส add_role ของคุณคุณต้องลบ remove_role () 2) ทันทีที่คุณมีมันถูกต้องคุณไม่ควรรันโค้ดนั้น อีกครั้ง ดังนั้นโดยทั่วไปฉันวาง add_role () ไว้ในตะขอแอ็คชัน wp_loaded และเนื่องจากฉันอยู่ระหว่างการพัฒนาฉันได้เพิ่ม remove_role () ก่อนหน้า add_role ของฉันด้วยดังนั้นฉันจึงมั่นใจได้ว่าถ้าฉันแก้ไขรายการตัวพิมพ์ใหญ่ก็จะมีผลจริง แต่ชัดเจนว่าตอนนี้ถูกเรียกใช้ทุกครั้งที่มีการเข้าถึงหน้าเว็บของบล็อก โอเคฉันสามารถใส่ไว้ในการกระทำของผู้ดูแลระบบเท่านั้นหรือฉันสามารถสร้างหน้าปลั๊กอินได้ภายใต้ผู้ใช้หรือเครื่องมือที่บทบาทนี้สามารถสร้างได้ครั้งเดียว ฉันคิดว่าฉันหวังว่าจะมีทางออกที่ง่ายกว่าและสง่างามกว่าอยู่ที่นั่น ฉันไม่คิดว่าจะมีการกระทำแบบ run_once อยู่ที่นั่นหรือ หรือวิธีปฏิบัติที่ดีที่สุดเพียงเพิ่มบทบาทแล้วใช้ add_cap () หลายครั้ง และถึงอย่างนั้นฉันก็จินตนาการว่า add_cap กำลังเข้าถึงฐานข้อมูล แค่คิดในแง่ของวิธีที่ดีที่สุดในการลดการเข้าถึง db ที่ไม่จำเป็น อะไรคือแนวทางปฏิบัติที่ดีที่สุดของคุณ?

4
ฉันจะลบการเข้าถึงแดชบอร์ดออกจากบทบาทผู้ใช้ที่เฉพาะเจาะจงได้อย่างไร
ฉันต้องการป้องกันไม่ให้บทบาทผู้ใช้บางอย่างเข้าถึงแดชบอร์ดhttp://www.openeye.net/wp-admin/เลย ฉันย้ายและปรับแต่งโปรไฟล์ผู้ใช้ไปยังหน้าใหม่ที่สามารถดูได้บนไซต์ ฉันจะทำสิ่งนี้อย่างไร

2
มีบทบาทที่กำหนดไว้ในฐานข้อมูล wp_ หรือไม่
ฉันอยู่ในรายการเพื่อทดสอบเบต้าส่วนตัวของปลั๊กอินที่ฉันใช้บนเครือข่ายหลายไซต์ ผู้เขียนปลั๊กอินมีรหัสอยู่ในนั้นเพื่อเพิ่มบทบาทที่กำหนดเอง พวกเขามีข้อบกพร่องที่ลบความสามารถในการให้ผู้ใช้บทบาทใด ๆ ยกเว้นบทบาทที่กำหนดเองของพวกเขา เมื่อฉันเข้าชม../wp-admin/network/site-users.phpบทบาท "เพิ่มผู้ใช้" แบบเลื่อนลงจะแสดงเพียงบทบาทเดียวที่ปลั๊กอินนี้เพิ่ม เมนูเปลี่ยนบทบาทแบบดึงลงแสดงบทบาทเริ่มต้น WP ทั้งหมดรวมถึงบทบาทพิเศษบางอย่างที่ปลั๊กอินนี้และอื่น ๆ ได้เพิ่มไว้ หากฉันพยายามเปลี่ยนผู้ใช้เป็นหนึ่งในบทบาทเหล่านี้ฉันจะได้รับหน้าข้อผิดพลาด "คุณไม่สามารถให้ผู้ใช้มีบทบาทนั้น" ฉันได้พูดคุยเรื่องนี้กับผู้พัฒนาและพวกเขาดูเหมือนงุนงง ฉันดูฐานข้อมูลและตัวแปลงสัญญาณของฉันแล้วและไม่สามารถหาตำแหน่งที่ถูกต้องได้

4
ฉันจะรับรายชื่อผู้ใช้ตามบทบาทได้อย่างไร
ฉันจะรับรายชื่อผู้ใช้ทั้งหมดที่อยู่ใน WordPress โดยบทบาทหรือความสามารถของพวกเขาได้อย่างไร? ตัวอย่างเช่น: แสดงall subscribers listใน WordPress แสดงall authors listใน WordPress แสดงall editors listใน WordPress

2
ฉันควรดำเนินการอย่างไรเมื่อเพิ่มบทบาทและความสามารถ
ฉันจะใช้ add_role () และ $ role-> add_cap () เพื่อตั้งค่าบทบาทที่กำหนดเองใหม่และแนบความสามารถใหม่กับบทบาทที่มีอยู่ ฉันสงสัยว่าที่ที่ดีที่สุดในการทำเช่นนี้คืออะไร? เห็นได้ชัดว่าฉันสามารถทำมันได้โดยตรงในฟังก์ชั่น PHP และสามารถทำได้ด้วย แต่นี่เป็นวิธีปฏิบัติที่ดีที่สุดใช่ไหม ฉันต้องทำสิ่งนี้กับ admin_init หรือไม่ หรือฉันควรจะทำใน init? ฉันไม่แน่ใจทั้งหมดว่าแนวทางปฏิบัติที่ดีที่สุดคืออะไรโดยใช้ init action hooks แทนที่จะปล่อยให้การเรียกใช้ฟังก์ชันโดยตรงภายใน functions.php ขอบคุณสำหรับข้อมูลของคุณ!

4
การอนุญาตบทบาทโพสต์ประเภทกำหนดเองจะไม่ให้ฉันอ่าน
ฉันไม่สามารถรับมันเพื่อให้บทบาทผู้ใช้ของฉันสำหรับซัพพลายเออร์สามารถอ่านประเภทโพสต์การจัดส่งได้ มันปรากฏขึ้นในเมนูของพวกเขา แต่เมื่อคุณคลิกที่มันคุณจะไม่ได้รับอนุญาตให้ดูข้อความผิดพลาดหน้านี้ ใช้งานได้ถ้าฉันadd_cap('read_posts')แต่ฉันไม่ต้องการให้พวกเขาดูโพสต์ปกติเพียงแค่ประเภทโพสต์การจัดส่ง ฉันมีบทบาทผู้ใช้ของซัพพลายเออร์ที่มีความสามารถดังต่อไปนี้ WP_Role Object ( [name] => supplier [capabilities] => Array ( [read] => 1 [edit_shipment] => 1 [read_shipment] => 1 [edit_others_shipments] => 1 [publish_shipments] => 1 [read_private_shipments] => 1 [edit_shipments] => 1 [create_shipment] => 1 [read_shipments] => 1 ) ) และฉันได้ติดตั้งโพสต์ประเภทสำหรับการจัดส่งด้วยต่อไปนี้ function shipment_post_type() { $labels = …

3
ส่งอีเมลยืนยันการใช้งานผู้ใช้เมื่อสร้างผู้ใช้โดยทางโปรแกรม
ฉันสงสัยว่าคนที่นี่อาจช่วยได้หรือไม่ โดยพื้นฐานแล้วฉันได้สร้างฟอร์มการลงทะเบียนที่กำหนดเองซึ่งเมื่อผ่านการตรวจสอบแล้วจะแทรกผู้ใช้ไปยังตารางผู้ใช้ function _new_user($data) { // Separate Data $default_newuser = array( 'user_pass' => wp_hash_password( $data['user_pass']), 'user_login' => $data['user_login'], 'user_email' => $data['user_email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'role' => 'pending' ); wp_insert_user($default_newuser); } ตอนนี้สิ่งที่ฉันต้องทำก็คือแทนที่จะส่งอีเมลยืนยันซึ่งฉันรู้ว่าฉันสามารถทำได้ด้วยรหัสต่อไปนี้ wp_new_user_notification($user_id, $data['user_pass']); ฉันต้องการส่งอีเมลเปิดใช้งานผู้ใช้แทน ฉันลองอะไรมาบ้างแล้วแต่ฉันไม่สามารถหาอะไรที่เป็นรูปธรรมได้ หวังว่าบางคนอาจเคยมีปัญหานี้มาก่อน

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

3
กลุ่มความสามารถ: ผู้ใช้ที่มีหลายบทบาท
ฉันค่อนข้างมั่นใจว่าฉันเข้าใจการตั้งค่าบทบาทและความสามารถใน WordPress: ความสามารถที่ละเอียดมากจัดกลุ่มเข้าด้วยกันในบทบาทที่สามารถกำหนดให้กับผู้ใช้ รหัสควรตรวจสอบความสามารถแบบละเอียดไม่ใช่บทบาท (เนื่องจากความสามารถสำหรับบทบาทเฉพาะสามารถเปลี่ยนแปลงได้) บทบาทไม่จำเป็นต้องเป็นแบบลำดับขั้น (แม้ว่าบทบาทเริ่มต้นคือ) มีวิธีการกำหนดหลายบทบาทให้กับผู้ใช้หรือไม่? อีกวิธีหนึ่งการมีกลุ่มของความสามารถจำนวนหนึ่งและเชื่อมโยงกลุ่มหนึ่งกลุ่มขึ้นไปกับผู้ใช้ วิธีการที่ไซต์ของฉันทำงานมีความรับผิดชอบที่ชัดเจนจำนวนหนึ่ง: การปรับปรุงหน้าเว็บการดูแลฟอรัมการอัพเดตปฏิทินกิจกรรมและอื่น ๆ ความรับผิดชอบแต่ละอย่างมีกลุ่มของความสามารถที่จำเป็นเพื่อดำเนินงานที่เกี่ยวข้อง ฉันต้องการให้ผู้ใช้ดำเนินการอย่างน้อยหนึ่งความรับผิดชอบ ดังนั้นผู้ใช้ A สามารถอัปเดตหน้าเว็บและปฏิทินกิจกรรม แต่ไม่พอสมควรในฟอรัม (ไม่เกือบจะไหวพริบพอ) แต่ผู้ใช้ B สามารถกลั่นกรองฟอรัมได้อัปเดตปฏิทินกิจกรรม แต่ไม่ได้รับอนุญาตใกล้หน้าเว็บ ขาดการกำหนดบทบาทสำหรับการรวมกันของความรับผิดชอบที่เป็นไปได้มีวิธีใดในการทำเช่นนี้?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.