Quiero enumerar imágenes solo para la imagen cargada por el usuario. Aquí está el escenario:
- Usando el cargador de imágenes en el front end usando iframe.
- He agregado
upload_files
límite a los usuarios de nivel de suscriptor y quiero que vean solo las imágenes que han subido. He encontrado esto Q ¿ Restringir a los usuarios para ver solo los elementos de la biblioteca de medios que han subido? Pero la respuesta aceptada no funciona para mí.
// Code originally by @t31os add_action('pre_get_posts','users_own_attachments'); function users_own_attachments( $wp_query_obj ) { global $current_user, $pagenow; if( !is_a( $current_user, 'WP_User') ) return; if( 'upload.php' != $pagenow ) return; if( !current_user_can('delete_pages') ) $wp_query_obj->set('author', $current_user->id ); return; }
La página frontend que estoy usando el cargador de imágenes se llama "Entrada".
- Si elimino esta parte del código,
if( 'upload.php' != $pagenow ) return;
el código funciona. Creo que tengo que mejorar esa parte del código condicional pero no pude resolverlo. El condicional es importante porque no quiero que el código se aplique en otras páginas donde no es necesario.
Entonces, necesito ayuda para mejorar la parte condicional como mencioné. ¡Gracias!
function
que no se alinee con el contenido fn.Respuestas:
Esto funciona para mí para enumerar los elementos cargados por un usuario en la biblioteca de medios.
Permitirá a todos los usuarios con la
manage_options
capacidad (generalmente administrador) ver todas las imágenes, los demás usuarios solo verán sus propias imágenes. Tenga en cuenta que se pueden hacer algunas mejoras como$pagenow
ycurrent_user_can
. No es una belleza pero hace el trabajofuente
wp_upload_dir()
resultado.El formulario de carga de medios que estaba extrayendo a través de thickbox era
media-upload.php
. Entonces, tuve que cambiar el condicional aif( 'upload.php' != $pagenow && 'media-upload.php' != $pagenow)
. Olvidé mirar en el lugar obvio :)fuente