Comment afficher par défaut uniquement les articles / pages publiés dans la zone d'administration?

9

En l'état, WordPress affiche par défaut toutes les pages / publications de la liste des pages / publications dans la zone d'administration, quel que soit leur statut de publication.

J'ai beaucoup de brouillons, mais en général, je suis beaucoup plus intéressé par la modification des pages / messages publiés, donc ne faire que les afficher nécessite un autre clic et un rechargement complet.

Existe-t-il un moyen de configurer WordPress pour afficher initialement uniquement les publications / pages publiées, vous permettant de cliquer sur "Tous" ou "Brouillon" si vous le souhaitez plus tard?

yudayuda
la source
N'importe qui? On m'a dit plusieurs fois récemment que si vous voulez obtenir des réponses rapides sur WordPress - StackExchange est l'endroit où aller ... Toute réponse serait appréciée - merci.
yudayuda

Réponses:

5

Je ne sais pas s'il y a une autre façon, mais la manipulation de la variable globale $submenupeut faire fonctionner cela.

Ce qui suit n'est qu'un piratage manuel (je ne connais aucun crochet) et peut échouer sur les configurations de sous-menus non standard. Le type de message Post standard a une adresse unique et le reste des types en a une autre, d'où deux 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
la source
2

Pour afficher les pages publiées par défaut sur le lien des pages, collez simplement cet extrait de code dans votre functions.php. Vous pouvez ensuite visiter l'onglet «Tous» pour voir la liste complète des pages.

// 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 vous souhaitez obtenir la même chose pour le lien de publication dans le tableau de bord d'administration, utilisez plutôt l'extrait de code suivant.

// 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' );

Référence: http://www.wpcodesnippet.com/wordpress-admin/change-pages-link-display-published-pages/

bojan
la source