¿Cómo mostrar por defecto solo publicaciones / páginas publicadas en el área de administración?

9

Tal como está, WordPress muestra de forma predeterminada todas las páginas / publicaciones en la lista de páginas / publicaciones en el área de administración, sin importar cuál sea su estado de publicación.

Tengo muchos borradores, pero generalmente estoy mucho más interesado en editar las páginas / publicaciones publicadas, por lo tanto, solo para mostrarlas requiere otro clic y una recarga completa.

¿Hay alguna manera de configurar WordPress para mostrar inicialmente solo publicaciones / páginas publicadas, permitiéndole hacer clic en "Todos" o "Borrador" si luego lo desea?

yudayuda
fuente
¿Nadie? Recientemente me dijeron varias veces que si desea obtener respuestas rápidas sobre WordPress: StackExchange es el lugar para ir ... Cualquier respuesta sería apreciada, gracias.
yudayuda

Respuestas:

5

No estoy seguro de si hay otra forma, pero manipular la variable global $submenupuede hacer que esto funcione.

Lo siguiente es solo un truco manual (no conozco ningún enganche) y puede fallar en configuraciones de submenús no estándar. El tipo de publicación Post normal tiene una dirección única y el resto de tipos tiene otra dirección, por lo tanto, dos foreachs.

add_action( 'admin_menu', 'default_published_wpse_91299' );

function default_published_wpse_91299() 
{
    global $submenu;

    // POSTS
    foreach( $submenu['edit.php'] as $key => $value )
    {
        if( in_array( 'edit.php', $value ) )
        {
            $submenu['edit.php'][ $key ][2] = 'edit.php?post_status=publish&post_type=post';
        }
    }

    // OTHER POST TYPES
    $cpt = array( 'page', 'portfolio' ); // <--- remove or adapt the portfolio post type
    foreach( $cpt as $pt )
    {
        foreach( $submenu[ 'edit.php?post_type=' . $pt ] as $key => $value )
        {
            if( in_array( 'edit.php?post_type=' . $pt, $value ) )
            {
                $submenu[ 'edit.php?post_type='.$pt ][ $key ][2] = 'edit.php?post_status=publish&post_type=' . $pt;
            }
        }   
    }
}
brasofilo
fuente
2

Para mostrar páginas publicadas por defecto en el enlace de páginas, simplemente pegue este fragmento de código en su functions.php. Luego puede visitar la pestaña "Todos" para ver la lista completa de páginas.

// change page link to display published pages only
function wcs_change_admin_page_link() {
    global $submenu;
    $submenu['edit.php?post_type=page'][5][2] = 'edit.php?post_type=page&post_status=publish';
}
add_action( 'admin_menu', 'wcs_change_admin_page_link' );

Si desea lograr lo mismo para el enlace de publicación en el panel de administración, use el siguiente fragmento de código en su lugar.

// change post link to display published posts only
function wcs_change_admin_post_link() {
    global $submenu;
    $submenu['edit.php'][5][2] = 'edit.php?post_status=publish';
}
add_action( 'admin_menu', 'wcs_change_admin_post_link' );

Referencia: http://www.wpcodesnippet.com/wordpress-admin/change-pages-link-display-published-pages/

bojan
fuente