Style de colonnes personnalisées dans les panneaux d'administration (en particulier pour ajuster la largeur des cellules des colonnes)

14

J'utilise Wordpress comme CMS pour un projet qui utilise largement les types de publication personnalisés. J'ai besoin d'afficher les colonnes dans les panneaux d'administration pour chaque type de publication personnalisé d'une manière différente.

J'ai déjà créé les colonnes nécessaires et les ai remplies. Ce que je dois faire, c'est ajuster un peu le CSS. Plus important encore, j'essaie de modifier la largeur de certaines colonnes. Par exemple, je n'ai pas besoin d'une colonne répertoriant l'ID du post pour être aussi large que le nom du post.

J'ai mis en file d'attente une feuille de style dans les panneaux d'administration pour mes types de publication personnalisés, mais je ne parviens pas à définir correctement la largeur des colonnes.

J'ai essayé d'ajuster la largeur maximale des éléments th ou td, mais c'est inefficace. Depuis Firebug, je peux voir que le style CSS est là, mais il ne fait rien.

Bien que je puisse trouver de nombreux didacticiels pour ajouter / modifier des colonnes personnalisées, je n'ai pas vraiment rassemblé beaucoup d'informations sur la façon de styliser ces colonnes. Un indice?

Je vous remercie!

unfulvio
la source

Réponses:

25

J'ai trouvé une solution qui fonctionne pour moi!

J'ai laissé tomber ce code dans functions.php:

add_action('admin_head', 'my_column_width');

function my_column_width() {
    echo '<style type="text/css">';
    echo '.column-mycolumn { text-align: center; width:60px !important; overflow:hidden }';
    echo '</style>';
}
Nicusor Dumbrava
la source
7

Merci Nicusor: Fonctionne très bien. J'ai pu modifier la largeur des colonnes sélectionnées dans le panneau Messages (par exemple, Titre, Auteur, Catégories) avec votre solution comme suit:

add_action('admin_head', 'my_admin_column_width');
function my_admin_column_width() {
    echo '<style type="text/css">
        .column-title { text-align: left; width:200px !important; overflow:hidden }
        .column-author { text-align: left; width:100px !important; overflow:hidden }
        .column-categories { text-align: left; width:100px !important; overflow:hidden }
    </style>';
}
Charles Borden
la source
4

Vous devriez pouvoir définir la largeur de colonne en utilisant CSS assez facilement. Vous pouvez utiliser la .column-{name}classe pour appliquer des styles aux cellules de colonne (à la fois thet td). Par exemple:

.column-mycolumn { width:20%; }

Assurez-vous qu'aucun autre style ne remplace la largeur de votre colonne en raison des règles de spécificité CSS . De plus, des mots longs sans espaces ou de grandes images peuvent forcer la colonne à être plus large que celle spécifiée dans certains navigateurs.

Geert
la source
ça a marché! Merci beaucoup! Je compliquais évidemment mon CSS
Unfulvio
J'ai une colonne nommée "clics" et ce code placé dans mon fichier styles.css childtheme n'a aucun effet dans la liste des messages d'administration! .column-clicks {largeur: 60 px; }
Nicusor Dumbrava
4

Vous pouvez essayer cela a résolu vos problèmes:

add_action('admin_head', 'my_admin_custom_styles');
function my_admin_custom_styles() {
    $output_css = '<style type="text/css">
        .column-date { display: none }
        .column-tags { display: none }
        .column-author { width:30px !important; overflow:hidden }
        .column-categories { width:30px !important; overflow:hidden }
        .column-title a { font-size:30px !important }
    </style>';
    echo $output_css;
}
Gaurang P
la source
pas de point-virgule à chaque ligne CSS.
northtree
C'était très utile. Juste pour ajouter, Wordpress est également utilisé sur les mobiles grand écran par certains de nos utilisateurs de l'éditeur, nous avons donc ajouté des requêtes multimédias car les !importantrègles ci-dessus ont brisé la conception par défaut de la liste des administrateurs de WP. C'est une suggestion très pratique cependant. Je vous remercie!
PKHunter
Par défaut, certaines colonnes ont une classe .fixedqui se traduit par width: 15%; . Cela garantit que ces colonnes disposent de plus d'espace que les autres (qui sont susceptibles de casser plusieurs lignes.) Mais dans la pratique, cela peut entraîner que les colonnes obtiennent plus d'espace qu'elles n'en ont besoin! Vous pouvez adapter la fonction de Gaurang ci-dessus pour éviter de donner plus d'espace pour vos colonnes moins importantes. par exemple: .column-tags { width: initial !important; }.
Fabien Snauwaert