Suscríbete a DecodeCMS:
WordPress por defecto muestra todas las entradas de todos los autores en la administración del sitio, sin embargo si tenemos un sitio con muchos autores y gran cantidad de contenido, puede ser conveniente limitar a los autores a ver sólo su propio contenido.
Resultado Final
Al final obtendremos algo similar a lo que se muestra en la siguiente imagen:

Código para limitar visualización de entradas
Puedes agregar el siguiente código al final del archivo functions.php de tu child-theme o usando algún plugin de Snippets.
function dcms_parse_query_author_only( $wp_query ) {
global $pagenow;
if ( 'edit.php' == $pagenow && !current_user_can( 'edit_others_posts' ) ){
global $current_user;
add_action( 'views_edit-post', 'dcms_remove_some_links_views' );
$wp_query->set( 'author', $current_user->id );
}
}
add_filter('parse_query', 'dcms_parse_query_author_only' );
function dcms_remove_some_links_views( $views ) {
unset($views['all']);
unset($views['publish']);
unset($views['trash']);
unset($views['draft']);
unset($views['pending']);
return $views;
}
En el código anterior:
- Usamos el hook parse_query el cual hace referencia a la función dcms_parse_query_author_only
- Esta función acepta como parámetro una variable que es un objeto llamado $wp_query
- Comprobamos si el usuario esta en la administración del sitio y si no es administrador
- Referenciamos a la variable global $current_user que usaremos para obtener el id del usuario
- Utilizamos el hook views_edit-post que permite remover los enlaces superiores
- Finalmente modificamos el objeto $wp_query filtrando por autor
Conclusión
Tal como hemos visto es posible filtrar los resultados de las entradas mostradas en la administración de WordPress a través de código y de esa manera limitar a los autores a ver sólo su propio contenido.
Hola,
estupendo artículo. Sólo tengo una duda.
He pegado el código tal cual aparece en tu artículo, pero se siguen viendo todas las pestañas, aunque efectivamente sólo muestra lo que ha publicado ese autor.
¿Puede haber cambiado algo en el código de WordPress desde que publicaste el artículo?
Como alternativa para lo que necesito hacer: ¿Cómo puedo ocultar la cantidad que aparece entre paréntesis en cada pestaña excepto en la pestaña MÍOS? (o en todas las pestañas, me da igual).
Gracias.
Hola, podrías evaluar ocultar los elementos que no deseas a través de código CSS, revisa este artículo de referencia: https://decodecms.com/agregar-css-personalizado-al-area-de-administracion-de-wordpress/