Solo mostrar las fotos en el administrador a cada usuario en WordPress

Tienen muchos usuarios y editores en tu blog de WordPress. Cada uno sube sus imágenes y no quieres que vean los contenidos de los demás. Te comparto el código.

Situación:

En tu blog tienes muchos colaboradores o autores, todos ellos pueden subir fotos o archivos, pero, todos los usuarios pueden ver todas las imágenes que están en biblioteca.

La idea es que el usuario no pueda ver o usar las fotos que otro ha subido, solo vea o cargue sus propias fotos y las organice como deseen.

Solución:

Vamos a nuestro archivo functions.php, este está en el editor en el menú Apariencia, y ponemos el siguiente código:

//Colaboradores puedan subir archivos
if ( current_user_can('contributor') && !current_user_can('upload_files') )
add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}
// Solo ver sus archivos
add_filter( 'posts_where', 'devplus_wpquery_where' );
function devplus_wpquery_where( $where ){
global $current_user;
if( is_user_logged_in() ){
// logged in user, but ware we viewing the library?
if( isset( $_POST['action'] ) && ( $_POST['action'] == 'query-attachments' ) ){
// here you can add some extra logic if you'd want to.
$where .= ' AND post_author='.$current_user->data->ID;
}}
}

Espero que esto les pueda ayudar en sus desarrollos WordPress.

Por favor espera...