Acest sfat rapid explică modul de adăugare a unei coloane personalizate în ecranele de administrare ale blogului dvs. WordPress.
Iată câteva fragmente de cod pe care le puteți utiliza pentru a personaliza coloanele din ecranele dvs. de administrare.
Puteți să le copiați și să le inserați în tema proprie functions.php fișier sau descărcați pluginul atașat la acest post.
Mai intai, sa definim cateva functii helper pe care le vom introduce mai tarziu in WordPress. Primele două adaugă noua coloană (sau două coloane sau elimină una standard), în timp ce altele afișează conținutul coloanei. În aceste exemple, presupunem că ați activat deja a film Tip de post particularizat și a gen literar Taxonomie particulară. Puteți citi despre crearea tipurilor de postări personalizate și a taxonomiilor dintr-un articol anterior.
funcție ST4_columns_head (implicit $) $ defaults ['first_column'] = 'Prima coloană'; / * ADĂ ALTE COLOANE (OPTIONAL) * / // $ implicit ['second_column'] = 'Coloana a doua'; / * REMOVE DEFECȚIUNE CATEGORIE COLUMN (OPȚIONAL) * / / unset ($ implicit ['categorii']); / * Pentru a obține defecte numele COLUMN: * / // print_r ($ implicit); returnează $ implicit; // NUMAI PENTRU filme CUSTOM POST TYPE funcție ST4_columns_head_movies ($ implicit) $ implicit ['my_movie_column'] = 'MY MOVIE COLUMN'; returnează $ implicit; // funcția GENERALĂ SCOPUL ST4_columns_content ($ column_name, $ post_ID) if ($ column_name == 'first_column') // DO STUFF pentru prima coloană COLUMN echo 'ID-ul postului este:'. $ POST_ID; / * DACĂ AȚI NEVOIE O ALTĂ COLUMNĂ - UNCOMMENT ALSO $ implicit ['second_column'] = 'Al doilea Column'; în ST4_columns_head () * / / * dacă ($ column_name == 'second_column') // DO STUFF PENTRU SECȚIUNEA 2 COLUMN * / // TAXONOMII: CATEGORII (POSTURI ȘI LINIERE), TAXE ȘI TAXONOMII CUTICE funcție ST4_columns_content_taxonomy , $ column_name, $ term_id) if ($ column_name == 'first_column') echo 'ID-ul termenului este:'. $ Term_id; // USERS funcționează ST4_columns_content_users ($ c, $ column_name, $ user_id) if ($ column_name == 'first_column') $ output. = 'ID-ul utilizatorului este:'. $ User_id; dacă ($ column_name == 'second_column') $ output. = 'Acesta este conținutul celei de-a doua coloane'; retur $ output; // Funcția CUSTOM POSTS: ST4_columns_content_movies ($ column_name, $ movie_ID) if ($ column_name == 'my_movie_column') echo 'ID-ul filmului este:'. $ Movie_ID;
Acum, hai să prindem funcțiile în ecranele de administrare 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);
Două note finale: dacă un ecran de administrare nu are elemente, de exemplu nu există încă etichete, conținutul coloanei noi nu este afișat.
ST4_columns_content_users
funcția este ușor diferită de celelalte, deoarece returnează o variabilă PHP care conține codul HTML, în loc să imprime conținutul coloanei în zbor.