แยก Media Library แต่ละ User

วันนี้มี script ง่ายๆ สำหรับการแสดงผล Media Library ของแต่ละ ​User ครับ สำหรับ wordpress version 3.7.0 ขึ้นไปนะครับ

function show_current_user_attachments( $query ){
  $user_id = get_current_user_id();
  if( $user_id ) {
    $query['author'] = $user_id;
  }
  return $query;
}
add_filter( 'ajax_query_attachments_args', show_current_user_attachments, 10, 1 );

จาก script ไม่ว่า user ไหนใช้งาน Media Library ก็จะเห็นเฉพาะของตัวเองเท่านั้น แล้วถ้าเราอยากให้ user ที่ใหญ่กว่าเห็นทั้งหมดละ

function show_current_user_attachments( $query ){
  $roles = wp_get_current_user()->roles;
  if(in_array( 'subscriber' , $roles )){
    $user_id = get_current_user_id();
    if( $user_id ) {
      $query['author'] = $user_id;
    }
    return $query;
  }
}
add_filter( 'ajax_query_attachments_args', show_current_user_attachments, 10, 1 );

script ข้างบน เรากำหนดว่า ถ้า user เป็น subscriber ก็ให้แสดงของ media ของตัวเอง แต่ถ้าไม่ใช่ก็จะแสดง media ทั้งหมดครับ

Leave a Reply

Your email address will not be published. Required fields are marked *

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

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

Allow All
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

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

  • Google Analytic

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

Save