web-dev-qa-db-fra.com

Supprimer la colonne "Commentaire" dans tous les post-types

Je veux juste supprimer Colonne de commentaire dans tous les types suivants et dans un fonction unique

 enter image description here 

Ma fonction actuelle, je dois faire chaque post-type comme ceci:

function remove_post_columns($columns) {
    unset($columns['comments']);
    return $columns;
}
add_filter('manage_edit-post_columns','remove_post_columns',10,1);

function remove_page_columns($columns) {
    unset($columns['comments']);
    return $columns;
}
add_filter('manage_edit-page_columns','remove_page_columns',10,1);

Possible de le faire dans une seule fonction et pour les post-types futurs?

3
l2aelba

J'ai une alternative:

Cela ne fera pas que cacher mais aussi désactiver

function disable_comments() {
    $post_types = get_post_types();
    foreach ($post_types as $post_type) {
        if(post_type_supports($post_type,'comments')) {
            remove_post_type_support($post_type,'comments');
            remove_post_type_support($post_type,'trackbacks');
        }
    }
}
add_action('admin_init','disable_comments');
2
l2aelba

Si vous remplacez manage_edit-post_columns par manage_posts_columns dans votre extrait de code, la colonne comment doit être masquée pour tous les types de publication (à l'exception du type de publication page) à l'intérieur du WP_Posts_List_Tablesrc. Vous voudrez peut-être vérifier si la clé de tableau column est en premier avant de la réinitialiser.

2
birgire