Skip to content

Instantly share code, notes, and snippets.

@aibrean
Created July 30, 2014 20:25
Show Gist options
  • Save aibrean/f23577f1c821d3887da4 to your computer and use it in GitHub Desktop.
Save aibrean/f23577f1c821d3887da4 to your computer and use it in GitHub Desktop.
Limit visibility of posts/media by users
//pages and media library pages
function hide_posts_media_by_other($query) {
global $pagenow;
if( ( 'edit.php' != $pagenow && 'upload.php' != $pagenow ) || !$query->is_admin ){
return $query;
}
if( !current_user_can( 'manage_options' ) ) {
global $user_ID;
$query->set('author', $user_ID );
}
return $query;
}
add_filter('pre_get_posts', 'hide_posts_media_by_other');
//media ajax
add_filter( 'posts_where', 'hide_attachments_wpquery_where' );
function hide_attachments_wpquery_where( $where ){
global $current_user;
if( !current_user_can( 'manage_options' ) ) {
if( is_user_logged_in() ){
if( isset( $_POST['action'] ) ){
// library query
if( $_POST['action'] == 'query-attachments' ){
$where .= ' AND post_author='.$current_user->data->ID;
}
}
}
}
return $where;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment