web-dev-qa-db-fra.com

Comment ajouter une colonne à la page Corbeille?

J'essaie d'ajouter une colonne à la page de corbeille pour les publications et les pages, mais je ne trouve pas le moyen de se connecter à cette zone spécifique. J'ai pu utiliser des fonctions telles que manage_posts_columns et manage_pages_columns pour ajouter colonnes, mais ces crochets ajoutent des colonnes à plus que la vue corbeille.

Je peux voir à partir de l'URL que la corbeille a post_status=trash mais je n'ai pas trouvé de moyen de s'y accrocher. Le manage_{$post_type}_posts_columns générique ne semble pas correspondre car j'ai besoin d'un post_status, pas d'un post_type.

J'ai aussi regardé get_current_screen mais il ne renvoie pas de post_status. Est-ce que je manque une fonction ou un moyen évident de le faire?

2
j08691

Vous pouvez vérifier la valeur de la variable de requête post_status et vous assurer qu'elle est définie sur trash:

function wpse239286_trash_column( $columns ) {

    // Bail if we're not looking at trash.
    $status = get_query_var( 'post_status' );
    if ( 'trash' !== $status ) {
        return $columns;
    }

    return array_merge( $columns, 
        array( 'trash_column' => __( 'Trash Column', 'text-domain' ) )
    );
}
add_filter( 'manage_posts_columns' , 'wpse239286_trash_column' );
add_filter( 'manage_pages_columns' , 'wpse239286_trash_column' );
2
Dave Romsey