Sfat rapid Adăugați coloane personalizate în ecranele de administrare WordPress

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.


Pasul 1 Definiți funcțiile coloanei

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; 

Pasul 2 Împingeți funcțiile coloanei în WordPress

Acum, hai să prindem funcțiile în ecranele de administrare WordPress:

Posturi și tipuri de posturi, cu excepția paginilor

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

Numai mesajele WordPress implicite

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

Numai paginile implicite WordPress

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

Numai Film Tip de post particularizat

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

Postați categoriile

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

Numai gen literar Taxonomie particulară

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

Etichete postate

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

Categorii de link-uri

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

Biblioteca media

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

Utilizatori

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

Note finale

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.

Cod