Sugerencia rápida Agregar columnas personalizadas en WordPress Administrar pantallas

Esta sugerencia rápida explica cómo agregar una columna personalizada en las pantallas de administración de su blog de WordPress.


Aquí hay algunos fragmentos de código que puede usar para personalizar las columnas en las pantallas Administrar.

Puedes copiarlos y pegarlos en tus temas. funciones.php archivo, o descargar el plugin adjunto a esta publicación.


Paso 1 Definir funciones de columna

Primero, definamos algunas funciones de ayuda que luego conectaremos a WordPress. Los dos primeros agregan la nueva columna (o dos columnas, o eliminan una predeterminada), mientras que los otros muestran el contenido de la columna. En estos ejemplos, asumimos que ya ha activado un película Tipo de mensaje personalizado y un género Taxonomía personalizada. Puede leer sobre la creación de tipos de correos personalizados y taxonomías en un artículo anterior..

 function ST4_columns_head ($ defaults) $ defaults ['first_column'] = 'First Column'; / * AGREGAR OTRA COLUMNA (OPCIONAL) * / // $ defaults ['second_column'] = 'Second Column'; / * ELIMINAR COLUMNA DE CATEGORÍA POR DEFECTO (OPCIONAL) * / // unset ($ por defecto ['categorías']); / * PARA OBTENER NOMBRES DE COLUMNA PREDETERMINADOS: * / // print_r ($ por defecto); devuelve $ por defecto;  // SOLO PARA la película POSICION PERSONALIZADA función ST4_columns_head_movies ($ por defecto) $ por defecto ['my_movie_column'] = 'MY MOVIE COLUMN'; devuelve $ por defecto;  // Función de PROPÓSITO GENERAL ST4_columns_content ($ column_name, $ post_ID) if ($ column_name == 'first_column') // DO STUFF FOR first_column COLUMN echo 'El ID de la publicación es:'. $ post_ID;  / * SI NECESITA OTRA COLUMNA - EL COMENTARIO TAMBIÉN $ defaults ['second_column'] = 'Second Column'; en 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_taxis , $ column_name, $ term_id) if ($ column_name == 'first_column') echo 'El término ID es:'. $ term_id;  // Función de los USUARIOS ST4_columns_content_users ($ c, $ column_name, $ user_id) si ($ column_name == 'first_column') $ output. = 'El ID de usuario es:'. $ user_id;  if ($ column_name == 'second_column') $ output. = 'Este es el contenido de la segunda columna';  devuelve $ output;  // CUSTOM POSTS function ST4_columns_content_movies ($ column_name, $ movie_ID) if ($ column_name == 'my_movie_column') echo 'La identificación de la película es:'. $ movie_ID; 

Paso 2 enganche las funciones de columna a WordPress

Ahora, vamos a enganchar las funciones en WordPress Manage Screens:

Publicaciones y tipos de publicaciones, excepto páginas

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

Sólo las publicaciones predeterminadas de WordPress

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

Sólo las páginas predeterminadas de WordPress

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

Solamente Película Tipo de mensaje personalizado

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

Publicar categorías

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

Solamente Género Taxonomia personalizada

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

Publicar etiquetas

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

Categorías de enlaces

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

Mediateca

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

Usuarios

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

Notas finales

Dos notas finales: si una pantalla de administración no tiene elementos, por ejemplo, aún no hay etiquetas, no se muestra el contenido de la nueva columna.

los ST4_columns_content_users La función es ligeramente diferente de las demás, ya que devuelve una variable PHP que contiene el HTML, en lugar de imprimir el contenido de la columna sobre la marcha.