การตั้งค่าผู้ดูแลระบบแก้ไขแผง & metaboxes ตำแหน่งและการมองเห็นสำหรับผู้ใช้และผู้ดูแลระบบทั้งหมด


10

การตั้งค่า WP 3.3 ของฉันเกี่ยวข้องกับโพสต์หลายประเภทและแผงแก้ไขแบบกำหนดเองพร้อมด้วยปลั๊กอินฟิลด์ที่กำหนดเองขั้นสูง (ซึ่งจะสร้างสารจำนวนมาก) และปลั๊กอินอื่น ๆ เช่นแผงพาเนล SEO การเชื่อมต่อ Posts2Post ของ Scribu และอื่น ๆ

ปัญหาคือลำดับที่ปรากฎของพาเนลเหล่านี้มักจะสุ่ม (แม้ว่า Adavanced Custom Fields จะมีการเรียงลำดับบางอย่าง แต่มันก็ไม่ได้ผลเสมอไปเนื่องจากปลั๊กอินอื่นไม่มีมันและฉันอาจต้องการเปลี่ยน metabox ตำแหน่งตามประเภทโพสต์)

ตอนนี้ Wordpress อนุญาตให้ผู้ดูแลระบบ / ผู้ใช้แต่ละคนมีสิทธิ์ที่เหมาะสมในการจัดเรียงสารในแผงควบคุมการแก้ไขตามที่เขา / เธอต้องการ อย่างไรก็ตาม ... ผู้ดูแลระบบทุกคนต้องจัดการกับตัวเอง !! ไม่มีวิธีในการเตรียมการเริ่มต้น / การสั่งซื้อคงที่หรือให้ superadmin หรือผู้ดูแลระบบหนึ่งคนโดยเฉพาะเพื่อตั้งค่าตำแหน่งพาเนลสำหรับ EVERYBODY หรือไม่?

ฉันมีผู้ดูแลระบบอย่างน้อย 4 คนและผู้แก้ไข / ผู้เขียนไม่กี่คน ... มันไม่สมเหตุสมผลเลยที่ฉันจะต้องตั้งค่าการเข้าสู่ระบบด้วย EACH ของบัญชีของพวกเขา ... มันโง่และเสียเวลาและสับสนสำหรับผู้ใช้ที่ไม่เข้าใจ WordPress .

มีส่วนเสริมของปลั๊กอินหรือโค้ดที่สามารถช่วยเคสของฉันได้หรือไม่?

ขอบคุณ


ใครสักคนถาม quetsions เดียวกันในฟอรั่ม WP 1 ปีที่ผ่านมาหัวข้อของเขาถูกทิ้งให้อยู่กับคำตอบไม่ได้ไม่ได้รับการแก้ไขและผู้ดูแลบางปิดด้ายwordpress.org/support/topic/...
unfulvio

คำตอบ:


7

คุณสามารถลบเมตาบ็อกซ์เริ่มต้นด้วย remove_meta_box และเพิ่มเข้าไปในตำแหน่งอื่นด้วย add_meta_box:

add_action('do_meta_boxes', 'wpse33063_move_meta_box');

function wpse33063_move_meta_box(){
    remove_meta_box( 'postimagediv', 'post', 'side' );
    add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}

คำตอบข้างต้นมาจากหัวข้อต่อไปนี้: วิธีการเปลี่ยนตำแหน่งเริ่มต้นของกล่องเมตา WP?

UPDATE

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

//Hide Post Page Options from all except Administrator
if (!current_user_can('administrator')){
function hide_post_page_options() {
global $post;
$hide_post_options = "<style type=\"text/css\"> #wptotwitter_div, wpseo_meta, #al2fb_meta, #misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section, .al2fb_post_submit, #slugdiv, #edit-slug-box, #screen-options-link-wrap { display: none; }</style>";
print($hide_post_options);
}
add_action( 'admin_head', 'hide_post_page_options'  );
}

//Hide Post Page Options from ALL users
function hide_all_post_page_options() {
global $post;
$hide_all_post_options = "<style type=\"text/css\"> #taxonomy-category li.hide-if-no-js, #commentstatusdiv, #wypiekacz_sectionid, #postexcerpt, #trackbacksdiv, #postcustom, #yarpp_relatedposts { display: none !important; }</style>";
print($hide_all_post_options);
}
add_action( 'admin_head', 'hide_all_post_page_options'  );

โดยพื้นฐานแล้วคุณเพียงแค่ต้องใส่รหัส div หรือคลาสคั่นด้วยเครื่องหมายจุลภาค ฉันเพิ่งออกจากที่นั่นเพื่อแสดงให้เห็นว่ากล่องเมตาและพื้นที่ทุกประเภทสามารถซ่อนได้

#wptotwitter_div - WP to Twitter plugin
#wpseo_meta - Wordpress SEO by Yoastplugin
#al2fb_meta, .al2fb_post_submit - Add Link to Facebookplugin
#misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section - Default Wordpress Publish Status and Visibility
#slugdiv, #edit-slug-box - The post slug
#screen-options-link-wrap - The "Screen Options" tab at the top of the page
#taxonomy-category li.hide-if-no-js - The "Most Used" categories tab
#commentstatusdiv - The comments on the post
#wypiekacz_sectionid - Wypiekacz plugin
#postexcerpt - Post excerpt
#trackbacksdiv - Trackbacks
#postcustom - Custom post fields
#yarpp_relatedposts - Yet Another Related Posts Plugin

(ฉันใส่ตัวอย่างใน "รหัส" เพราะ SE ใช้ # เพื่อเป็นตัวแทนหัวเรื่อง)

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


ไม่ได้แก้ปัญหาของฉันต้องการคัดลอกการตั้งค่า wysiwyg ของฉันไปยังผู้ใช้ทุกคน (ดังนั้นฉันจึงตั้งค่าลักษณะที่ปรากฏของพาเนลทันทีและสำหรับทุกคน); เหตุผล: ปลั๊กอินบางตัวเพิ่ม metaboxes ของตัวเอง; นอกจากนี้สำหรับโพสต์ประเภทอื่นฉันต้องการที่จะวาง metaboxes ตาม Add_meta_box มีเพียงปกติ / สูง / ต่ำ ... ที่มีเมท็อกซ์จำนวนมากที่ไม่ได้ช่วย ฟิลด์ที่กำหนดเองขั้นสูงอย่างน้อยมีหมายเลขการสั่งซื้อ แต่มันทำงานได้ไม่ดีเมื่อมีเมตาโบท็อกอื่น ๆ วิธีที่ดีที่สุดที่จะทำเช่นนี้จะ WYSIWYG ...
unfulvio

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

เหตุใดคุณจึงไม่ลบ Metaboxes โดยผู้ใช้แทนที่จะซ่อนเพียงแค่จัดแต่งทรงผม?
Stephen Harris

ไม่ใช่ทุกสิ่งที่ฉันลบออกเป็นกล่องเมตาบางส่วนของเมตาดาต้ากล่องดังนั้นฉันจึงคิดว่าฉันจะใช้ฟังก์ชั่นเดียวแทนที่จะเป็นสองฟังก์ชั่น
เทรวิส Pflanz

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

1

คุณมองเข้าไปในAdminimizeปลั๊กอิน?

อนุญาตให้คุณเปิดใช้งาน / ปิดใช้งานกล่องเมตาต่อบทบาทผู้ใช้และกำหนดค่าตำแหน่ง ใช้เวลาเล็กน้อยในการกำหนดค่าและเอกสารมีความเหมาะสมแม้ว่าจะเป็นจุด ๆ ในสถานที่ แต่ควรจะสามารถจัดการกับสิ่งที่คุณกำลังอธิบาย


ปลั๊กอินนั้นไม่อนุญาตให้คุณ "กำหนดค่าตำแหน่ง" เพียงการมองเห็นเท่านั้น มันเป็นปลั๊กอินที่ดีมาก
แม้ว่า

ฉันจะยอมรับว่าไม่ได้มองสิ่งที่อยู่ใกล้ ๆ กับปลั๊กอิน แต่ถ้ามันสามารถจัดการกับมันได้มันอาจจะทำเพื่อจัดการกับคนอื่น ๆ ผ่านการเพิ่มโค้ดบางอย่าง ทำให้เป็นจุดเริ่มต้นที่ดี
JCL1178
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.