Como exibir por padrão apenas as postagens / páginas publicadas na área de administração?

9

Como é, o WordPress exibe por padrão todas as páginas / postagens na lista de páginas / postagens na área de administração, independentemente do status de publicação.

Eu tenho muitos rascunhos, mas geralmente estou muito mais interessado em editar as páginas / postagens publicadas, portanto, apenas exibi-las exige outro clique e uma atualização completa.

Existe uma maneira de configurar o WordPress para exibir inicialmente apenas postagens / páginas publicadas, permitindo que você clique em "Tudo" ou "Rascunho" se desejar mais tarde?

yudayuda
fonte
Alguém? Me disseram várias vezes recentemente que, se você deseja obter respostas rápidas sobre o WordPress - StackExchange é o lugar certo ... Qualquer resposta seria apreciada - obrigado.
precisa saber é

Respostas:

5

Não tenho certeza se existe outra maneira, mas manipular a variável global $submenupode fazer isso funcionar.

A seguir, é apenas um hack manual (não conheço nenhum gancho) e pode falhar nas configurações de submenus não padrão. O tipo de postagem normal tem um endereço exclusivo e o restante dos tipos tem outro, portanto, dois 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
fonte
2

Para exibir páginas publicadas por padrão no link de páginas, basta colar esse trecho de código em seu functions.php. Você pode visitar a guia "Todos" para ver a 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' );

Se você deseja obter o mesmo para o link de postagem no painel do administrador, use o seguinte snippet de código.

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

Referência: http://www.wpcodesnippet.com/wordpress-admin/change-pages-link-display-published-pages/

bojan
fonte