Astuce Ajouter des colonnes personnalisées dans WordPress Gérer les écrans

Cette astuce explique comment ajouter une colonne personnalisée dans les écrans de gestion de votre blog WordPress..


Voici quelques extraits de code que vous pouvez utiliser pour personnaliser les colonnes de vos écrans de gestion..

Vous pouvez les copier et les coller dans votre thème functions.php fichier ou télécharger le plugin attaché à ce message.


Étape 1 Définir les fonctions de colonne

Commençons par définir quelques fonctions d’aide que nous relierons ultérieurement à WordPress. Les deux premiers ajoutent la nouvelle colonne (ou deux colonnes, ou suppriment une colonne par défaut), tandis que les autres affichent le contenu de la colonne. Dans ces exemples, nous supposons que vous avez déjà activé une film Type de message personnalisé et un genre Taxonomie personnalisée. Vous pouvez en savoir plus sur la création de types d'articles et de taxonomies personnalisés dans un article précédent..

 fonction ST4_columns_head ($ defaults) $ defaults ['first_column'] = 'Première colonne'; / * AJOUTER UNE AUTRE COLONNE (FACULTATIF) * / // $ defaults ['second_column'] = 'Seconde colonne'; / * SUPPRIME LA COLONNE DE LA CATÉGORIE PAR DÉFAUT (FACULTATIF) * / // unset ($ defaults ['categories']); / * POUR OBTENIR LES NOMS DE COLONNE PAR DEFAUT: * / // print_r ($ defaults); retourne $ par défaut;  // UNIQUEMENT POUR LE TYPE DE POST PERSONNALISÉ film ST4_columns_head_movies ($ defaults) $ defaults ['my_movie_column'] = 'MON COLONNE DE FILM'; retourne $ par défaut;  // GENERAL PURPOSE function ST4_columns_content ($ nom_colonne, $ identifiant_post) if ($ nom_colonne == 'première_colonne') // DOIT STUFF POUR la premie`re colonne COLUMN echo 'L'ID de publication est:'. $ post_ID;  / * SI VOUS AVEZ BESOIN D'UNE AUTRE COLONNE - DÉCLARATION AUSSI AUSSI $ defaults ['second_column'] = 'Deuxième colonne'; dans ST4_columns_head () * / / * if ($ nom_colonne == 'second_colonne') // NE FAUT PAS POUR COLONNE second_column * / // TAXONOMIES: CATEGORIES (POSTS AND LINKS), TAGS AND TAXONOMIES PERSONNALISÉES , $ nom_colonne, $ id_terminaire if ($ nom_colonne == 'première_colonne') echo 'Le terme identifiant est:'. $ term_id;  // USERS function ST4_columns_content_users ($ c, $ nom_colonne, $ id_utilisateur) if ($ nom_colonne == 'première_colonne') $ output. = 'L'ID utilisateur est:'. $ user_id;  if ($ nom_colonne == 'seconde_colonne') $ sortie. = 'Ceci est le contenu de la deuxième colonne';  return $ output;  // POSTS PERSONNALISÉS fonction ST4_columns_content_movies ($ nom_colonne, $ id_ movie) if ($ nom_colonne == 'mon_colonne_movie') echo 'L'ID du film est:'. $ movie_ID; 

Étape 2: accrochez les fonctions de colonne à WordPress

Maintenant, relions les fonctions dans WordPress Manage Screens:

Articles et types d'articles, à l'exception des pages

 add_filter ('manage_posts_columns', 'ST4_columns_head'); add_filter ('manage_posts_custom_column', 'ST4_columns_content', 10, 2);

Seuls les messages par défaut de WordPress

 add_filter ('manage_post_posts_columns', 'ST4_columns_head', 10); add_action ('manage_post_posts_custom_column', 'ST4_columns_content', 10, 2);

Seulement les pages par défaut de WordPress

 add_filter ('manage_page_posts_columns', 'ST4_columns_head', 10); add_action ('manage_page_posts_custom_column', 'ST4_columns_content', 10, 2);

Seulement Film Type de message personnalisé

 add_filter ('manage_movie_posts_columns', 'ST4_columns_head_movies', 10); add_action ('manage_movie_posts_custom_column', 'ST4_columns_content_movies', 10, 2);

Post Catégories

 add_filter ('manage_edit-category_columns', 'ST4_columns_head'); add_filter ('manage_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);

Seulement Genre Taxonomie personnalisée

 add_filter ('manage_edit-genre_columns', 'ST4_columns_head'); add_filter ('manage_genre_custom_column', 'ST4_columns_content_taxonomy', 10, 2);

Tags post

 add_filter ('manage_edit-post_tag_columns', 'ST4_columns_head'); add_filter ('manage_post_tag_custom_column', 'ST4_columns_content_taxonomy', 10, 2);

Catégories de lien

 add_filter ('manage_edit-link_category_columns', 'ST4_columns_head'); add_filter ('manage_link_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);

Médiathèque

 add_filter ('manage_media_columns', 'ST4_columns_head'); add_filter ('manage_media_custom_column', 'ST4_columns_content', 10, 2);

Utilisateurs

 add_filter ('manage_users_columns', 'ST4_columns_head'); add_filter ('manage_users_custom_column', 'ST4_columns_content_users', 10, 2);

Notes finales

Deux notes finales: si un écran de gestion ne contient aucun élément, par exemple s'il n'y a pas encore de balises, le contenu de la nouvelle colonne ne sera pas affiché.

le ST4_columns_content_users son fonctionnement est légèrement différent des autres, puisqu'il renvoie une variable PHP contenant le code HTML, au lieu d'imprimer le contenu de la colonne à la volée.