web-dev-qa-db-fra.com

Comment définir les colonnes visibles par défaut dans la liste des articles, pour tous les utilisateurs

Est-il possible de définir des colonnes visibles par défaut dans la liste des publications, pour tous les utilisateurs?

 enter image description here 

1
Riccardo

Comme la question concernait les colonnes et non les boîtes méta et que j’avais besoin de cette solution, la réponse de Ioannis m’a mis sur la bonne voie.

Le crochet de filtre en question est default_hidden_columns.

C'est la solution avec laquelle j'ai fini par définir ma colonne ad_shortcode pour qu'elle soit masquée par défaut. Vous devriez savoir que ce n'est que la valeur par défaut. Dès que la page a été visitée, la valeur par défaut n'est plus utilisée. Recherchez une clé méta contenant columnshidden dans wp_usermeta et supprimez-la lors du test.

add_filter( 'default_hidden_columns', 'hide_ad_list_columns', 10, 2 );
function hide_ad_list_columns( $hidden, $screen ) {
    // "edit-advanced_ads" needs to be adjusted to your own screen ID, this one is for my "advanced_ads" post type
    if( isset( $screen->id ) && 'edit-advanced_ads' === $screen->id ){      
        $hidden[] = 'ad_shortcode';     
    }   
    return $hidden;
}
4
Thomas

Pour changer les valeurs par défaut, il vous suffit de vous connecter au filtre default_hidden_meta_boxes et de fournir votre propre tableau PHP répertoriant les méta-boîtes que vous souhaitez masquer par défaut. Dans l'exemple ci-dessous, je masque la méta-boîte de l'auteur et la ré-méta-boîte. De cette manière, ils sont masqués pour les utilisateurs, sauf s’ils décident de les activer dans les Options d’écran.

  <?php
/**
 * vpm_default_hidden_meta_boxes
 */
function vpm_default_hidden_meta_boxes( $hidden, $screen ) {
    // Grab the current post type
    $post_type = $screen->post_type;
    // If we're on a 'post'...
    if ( $post_type == 'post' ) {
        // Define which meta boxes we wish to hide
        $hidden = array(
            'authordiv',
            'revisionsdiv',
        );
        // Pass our new defaults onto WordPress
        return $hidden;
    }
    // If we are not on a 'post', pass the
    // original defaults, as defined by WordPress
    return $hidden;
}
add_action( 'default_hidden_meta_boxes', 'vpm_default_hidden_meta_boxes', 10, 2 );

Regardez aussi

Comment définir les options d'écran par défaut?

et

https://www.vanpattenmedia.com/2014/code-snippet-hide-post-meta-boxes-wordpress

0
Ioannis Charitos