แยก 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 *