Maison > Article > développement back-end > Astuce rapide : ajoutez des colonnes personnalisées dans l’écran d’administration de WordPress
Cette astuce explique comment ajouter des colonnes personnalisées dans l'écran d'administration de votre blog WordPress.
Voici quelques extraits de code que vous pouvez utiliser pour personnaliser les colonnes de l'écran d'administration.
Vous pouvez les copier et les coller dans le fichier functions.php de votre thème, ou télécharger le plugin inclus avec cet article.
Tout d’abord, définissons quelques fonctions d’assistance que nous intégrerons plus tard à WordPress. Les deux premiers ajoutent une nouvelle colonne (ou deux colonnes, ou suppriment la colonne par défaut), tandis que les autres affichent le contenu de la colonne. Dans ces exemples, nous supposons que vous avez activé le type de publication personnalisé Films et les catégories personnalisées Genres. Vous pouvez apprendre à créer des types de publication et des taxonomies personnalisés dans l'article précédent.
function ST4_columns_head($defaults) { $defaults['first_column'] = 'First Column'; /* ADD ANOTHER COLUMN (OPTIONAL) */ // $defaults['second_column'] = 'Second Column'; /* REMOVE DEFAULT CATEGORY COLUMN (OPTIONAL) */ // unset($defaults['categories']); /* TO GET DEFAULTS COLUMN NAMES: */ // print_r($defaults); return $defaults; } // ONLY FOR movie CUSTOM POST TYPE function ST4_columns_head_movies($defaults) { $defaults['my_movie_column'] = 'MY MOVIE COLUMN'; return $defaults; } // GENERAL PURPOSE function ST4_columns_content($column_name, $post_ID) { if ($column_name == 'first_column') { // DO STUFF FOR first_column COLUMN echo 'The post ID is: ' . $post_ID; } /* IF YOU NEED ANOTHER COLUMN - UNCOMMENT ALSO $defaults['second_column'] = 'Second Column'; in ST4_columns_head() */ /* if ($column_name == 'second_column') { // DO STUFF FOR second_column COLUMN } */ } // TAXONOMIES: CATEGORIES (POSTS AND LINKS), TAGS AND CUSTOM TAXONOMIES function ST4_columns_content_taxonomy($c, $column_name, $term_id) { if ($column_name == 'first_column') { echo 'The term ID is: ' . $term_id; } } // USERS function ST4_columns_content_users($c, $column_name, $user_id) { if ($column_name == 'first_column') { $output .= 'The user ID is: ' . $user_id; } if ($column_name == 'second_column') { $output .= 'This is the second column content'; } return $output; } // CUSTOM POSTS function ST4_columns_content_movies($column_name, $movie_ID) { if ($column_name == 'my_movie_column') { echo 'The movie ID is: ' . $movie_ID; } }
Maintenant, connectons ces fonctionnalités à l'écran d'administration de WordPress :
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 dernières remarques : si l'écran d'administration ne contient aucun élément, par exemple pas encore d'étiquettes, le contenu de la nouvelle colonne ne sera pas affiché.
La fonctionST4_columns_content_users
est légèrement différente des autres dans la mesure où elle renvoie une variable PHP contenant du HTML au lieu d'imprimer dynamiquement le contenu de la colonne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!