Rask tips Legg til egendefinerte kolonner i WordPress Administrer skjermer

Dette raske tipset forklarer hvordan du legger til en egendefinert kolonne i Behandle skjermene til WordPress-bloggen din.


Her er noen kodestykker du kan bruke til å tilpasse kolonnene i Behandle skjermene dine.

Du kan kopiere og lime dem inn i temaet ditt functions.php filen, eller last ned pluginet som er vedlagt dette innlegget.


Trinn 1 Definer kolonnefunksjoner

Først, la oss definere noen hjelpefunksjoner som vi vil koble til WordPress senere. De to første legger til den nye kolonnen (eller to kolonner, eller fjern en standard), mens de andre viser kolonneinnholdet. I disse eksemplene antar vi at du allerede har aktivert a film Tilpasset innleggstype og a sjanger Tilpasset taksonomi. Du kan lese om å lage egendefinerte innleggstyper og taksonomier i en tidligere artikkel.

 funksjon ST4_columns_head ($ defaults) $ defaults ['first_column'] = 'Første kolonne'; / * ADD ANOTHER COLUMN (VALGFRI) * / // $ standard ['second_column'] = 'Andre kolonne'; / * FJERN DEFAULT CATEGORY COLUMN (VALGFRI) * / // unset ($ standardverdier ['kategorier']); / * Å FÅ DEFAULTS KOLOMNAMMER: * / // print_r ($ standardverdier); returnere $ standardinnstillinger;  / / KUN FOR film KUNSTSTILSTYPE-funksjon ST4_columns_head_movies ($ standard) $ standardinnstillinger ['my_movie_column'] = 'MINE FILKOLUMN'; returnere $ standardinnstillinger;  // GENERELT FORMÅL-funksjon ST4_columns_content ($ column_name, $ post_ID) if ($ column_name == 'first_column') // GJØR STUFF FOR first_column COLUMN echo 'Post-ID er:'. $ POST_ID;  / * HVIS DU TRENGER EN ANNEN KOLOM - UNCOMMENT OGSÅ $ standard ['second_column'] = 'Second Column'; i ST4_columns_head () * / / * hvis ($ column_name == 'second_column') // DO STUFF for second_column COLUMN * / // TAXONOMIER: KATEGORIER (POSTER OG LINKER), TAGER OG TJENESTE TAXONOMIER Fungerer ST4_columns_content_taxonomy ($ c , $ column_name, $ term_id) if ($ column_name == 'first_column') echo 'Begrepet ID er:'. $ Term_id;  // BRUKER-funksjonen ST4_columns_content_users ($ c, $ column_name, $ user_id) if ($ column_name == 'first_column') $ output. = 'Bruker-ID er:'. $ User_id;  hvis ($ column_name == 'second_column') $ output. = 'Dette er det andre kolonneinnholdet';  returnere $ output;  // CUSTOM POSTS funksjonen ST4_columns_content_movies ($ column_name, $ movie_ID) hvis ($ column_name == 'my_movie_column') echo 'Filmen ID er:'. $ Movie_ID; 

Trinn 2 Ta kolonnefunksjonene til WordPress

Nå, la oss koble funksjonene til WordPress Manage Screens:

Innlegg og posttyper, unntatt sider

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

Bare WordPress Standard Innlegg

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

Bare WordPress Standard Sider

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

Bare Film Tilpasset innleggstype

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

Postkategorier

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

Bare Sjanger Tilpasset taksonomi

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

Postetiketter

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

Link kategorier

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

Mediebibliotek

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

brukere

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

Endelige notater

To siste notater: Hvis en administreringsskjerm har ingen elementer, for eksempel er det ingen merker ennå, innholdet i den nye kolonnen vises ikke.

De ST4_columns_content_users funksjonen er litt annerledes enn de andre, siden det returnerer en PHP-variabel som inneholder HTML, i stedet for å skrive ut kolonneinnholdet i fly.