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.
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;
Maintenant, relions les fonctions dans WordPress Manage Screens:
add_filter ('manage_posts_columns', 'ST4_columns_head'); add_filter ('manage_posts_custom_column', 'ST4_columns_content', 10, 2);
add_filter ('manage_post_posts_columns', 'ST4_columns_head', 10); add_action ('manage_post_posts_custom_column', 'ST4_columns_content', 10, 2);
add_filter ('manage_page_posts_columns', 'ST4_columns_head', 10); add_action ('manage_page_posts_custom_column', 'ST4_columns_content', 10, 2);
add_filter ('manage_movie_posts_columns', 'ST4_columns_head_movies', 10); add_action ('manage_movie_posts_custom_column', 'ST4_columns_content_movies', 10, 2);
add_filter ('manage_edit-category_columns', 'ST4_columns_head'); add_filter ('manage_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter ('manage_edit-genre_columns', 'ST4_columns_head'); add_filter ('manage_genre_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter ('manage_edit-post_tag_columns', 'ST4_columns_head'); add_filter ('manage_post_tag_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter ('manage_edit-link_category_columns', 'ST4_columns_head'); add_filter ('manage_link_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter ('manage_media_columns', 'ST4_columns_head'); add_filter ('manage_media_custom_column', 'ST4_columns_content', 10, 2);
add_filter ('manage_users_columns', 'ST4_columns_head'); add_filter ('manage_users_custom_column', 'ST4_columns_content_users', 10, 2);
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.