Comentarios

Añadir columnas personalizadas al área de administración de WordPressEste artículo repasa cómo ampliar la página estándar de listado de entradas de WordPress para proporcionar una funcionalidad extra, y mostrar información adicional de un vistazo.Agosto 2018WordPress proporciona un montón de grandes funcionalidades fuera de la caja. Sin embargo, añadir información extra al área de administración puede ayudar masivamente en el día a día de un sitio web.

En este post voy a ir a través de cómo agregar columnas personalizadas a la pantalla de listado de post. He creado un tipo de post personalizado ‘coches’. Una manera muy fácil de hacerlo es utilizar este generador y añadir el código proporcionado al archivo ‘functions.php’, en lugar de utilizar un plugin. Esto también se puede hacer con un ‘post’ por defecto pero aquí estoy usando un CPT.

La pantalla de listado por defecto para los coches no proporciona mucha información útil. Todo lo que obtengo son los nombres de los coches (nombrados de forma creativa), y las fechas en las que fueron añadidos al sistema. Para obtener más información tendría que abrir cada coche individualmente y obtener lo que necesito. Sin embargo, ¿qué pasa si quiero obtener más detalles de un vistazo, o realizar algunos cálculos para ver cómo van las ganancias? La pantalla de abajo no ayuda mucho:

Plugin de WordPress para columnas

Al diseñar su sitio web, es posible que quiera mostrar varios elementos en la misma fila. Por defecto, cada bloque se apilará uno encima de otro en el editor de WordPress. En este artículo le mostraremos cómo crear columnas en WordPress utilizando el bloque de columnas y añadir contenido a esas columnas.

Si está buscando una verdadera experiencia de arrastrar y soltar, consulte nuestro constructor de páginas de WordPress. Puedes crear columnas con múltiples elementos y todo el contenido se puede arrastrar y soltar. Puedes mover elementos específicos como una imagen, o una columna o fila entera. ¡Pruébalo gratis ahora!

Elementor añadir columna a la sección existente

Hay dos hooks a tener en cuenta: un filtro para la posición y el título de la columna, y una acción para la salida de la columna para cada post. El tipo de entrada es una parte de los nombres de los hooks. Veámoslos uno por uno, empezando por el filtro.

El filtro para modificar, eliminar o añadir columnas a la lista de entradas en el panel de administración de WordPress es manage_{$post_type}_posts_columns. Intercambie {$post_type} con el tipo de post deseado. Por ejemplo, si desea editar las columnas del tipo de entrada ‘post’, el nombre del filtro sería manage_post_posts_columns. Y para un tipo de entrada personalizado ‘producto’, el nombre del filtro sería manage_product_posts_columns.

Proporcionando como argumento al filtro se obtiene el array completo de todas las columnas para ese tipo de post. Cada columna tiene una clave única y sus valores son las etiquetas mostradas en la cabecera de la columna. Ejemplos de claves son ‘cb’ para la columna del checkbox y ‘title’ para la columna del título de la entrada. El orden de los elementos en el array determina el orden de las columnas.

El gancho que necesitas usar para controlar la salida del contenido de la columna depende de si tu tipo de entrada está configurada para ser jerárquica o no. Un tipo de entrada jerárquico ha sido definido como ‘hierarchical’ => true en register_post_type. Cualquier tipo de entrada no jerárquica, incluyendo el tipo de entrada incorporado de WordPress ‘post’, utiliza el nombre de gancho manage_{$post_type}_custom_column. Cualquier tipo de entrada jerárquica, incluyendo el tipo de entrada incorporado de WordPress ‘page’, utiliza el nombre del gancho manage_pages_custom_column (nota: no se inyecta el nombre del tipo de entrada en el nombre del gancho).

Sección de WordPress

Vamos a eliminar algunas columnas de esta lista y a añadir otras. Para ello, añadiremos un callback al filtro manage_posts_columns y añadiremos nuestras columnas personalizadas al array de columnas. Ten en cuenta que estamos utilizando el hook manage_realestate_posts_columns. Aquí, realestate es el nombre de nuestro tipo de entrada, pasado como primer argumento a la función register_post_type para registrar tipos de entrada personalizados. Lo utilizamos en lugar de [post_type] en el filtro manage_[post_type]_posts_columns.

La primera línea añade nuestra función smashing_filter_posts_columns como una llamada de retorno al filtro que gestiona las columnas que se muestran. La segunda línea define la función de devolución de llamada. Las líneas 2 a 4 añaden nuestras columnas personalizadas a la lista de columnas. Finalmente, la línea 6 devuelve la lista de columnas resultante.Nota: La parte smashing_ antes de nuestras funciones es sólo una buena práctica para asegurarnos de que el nombre de nuestra función es único en WordPress. La función __ se utiliza para traducir la cadena al idioma preferido del usuario. Observe que tanto para “Precio” como para “Área”, utilizamos smashing como dominio de texto, que WordPress utiliza para determinar qué fuente debe utilizarse para traducir la cadena. Podemos omitir esto para traducir “Imagen” porque WordPress ya incluye traducciones de esta palabra por sí misma. Puede leer más sobre los dominios de texto en el Codex de WordPress.Hemos añadido columnas para mostrar una imagen, el precio y la superficie, y se ha devuelto el array con las nuevas columnas. La lista de inmuebles resultante se ve así:(Ver versión grande)Todavía tenemos que hacer dos cosas:Vamos a modificar nuestra función para lograr esto. Fíjate en que no eliminamos explícitamente las tres columnas mencionadas anteriormente, sino que simplemente construimos un nuevo array completo de columnas precisamente como las necesitamos. Las líneas modificadas están resaltadas.