Este tutorial te guiará paso a paso sobre cómo añadir dos columnas personalizadas en la vista de categorías de productos y entradas en el panel de administración de WordPress: ID de la categoría y un botón para Copiar la URL de cada categoría. Además, veremos cómo hacer que estas columnas sean personalizables a través de las opciones de pantalla.
¿Para qué sirve este código?
El código proporcionado agrega dos funcionalidades útiles:
- Mostrar el ID de la categoría: En la vista de categorías de productos y entradas, podrás ver el ID único de cada categoría.
- Botón "Copiar URL": Un botón que permite copiar fácilmente la URL de cada categoría, facilitando el acceso rápido para compartir o trabajar con ellas.
Ventajas de usar este código:
- Accesibilidad mejorada: Puedes acceder fácilmente al ID de las categorías sin tener que hacer clic en cada una.
- Facilidad para compartir: El botón de copiar URL hace más rápido y sencillo compartir la URL de las categorías sin necesidad de buscarla manualmente.
- Personalización: Puedes activar o desactivar estas columnas según tus necesidades desde las opciones de pantalla.
/**
* Autor: Ariapsa Diseño y Soporte Web
* Descripción: Añadir columnas de ID y Copiar URL en categorías de productos y entradas en el panel de administración de WordPress.
*/
// Añadir columnas a categorías de entradas y productos
function custom_add_category_columns($columns) {
$columns['category_id'] = 'ID';
$columns['copy_url'] = 'Copiar URL';
return $columns;
}
// Mostrar contenido en las nuevas columnas
function custom_category_columns_content($content, $column_name, $term_id) {
$term = get_term($term_id);
if ($column_name === 'category_id') {
$content = $term_id;
}
if ($column_name === 'copy_url') {
$url = get_term_link($term);
$content = '<button class="copy-category-url" data-url="' . esc_url($url) . '">Copiar URL</button>';
}
return $content;
}
// Añadir columnas en categorías de productos y entradas
add_filter('manage_edit-category_columns', 'custom_add_category_columns');
add_filter('manage_category_custom_column', 'custom_category_columns_content', 10, 3);
add_filter('manage_edit-product_cat_columns', 'custom_add_category_columns');
add_filter('manage_product_cat_custom_column', 'custom_category_columns_content', 10, 3);
// Script para copiar URL usando AJAX
function custom_category_admin_scripts() {
?>
<script>
document.addEventListener('click', function (e) {
if (e.target && e.target.classList.contains('copy-category-url')) {
e.preventDefault();
const url = e.target.getAttribute('data-url');
navigator.clipboard.writeText(url).then(() => {
alert('URL copiada: ' + url);
}).catch(err => {
console.error('Error al copiar URL: ', err);
});
}
});
</script>
<?php
}
add_action('admin_footer', 'custom_category_admin_scripts');
// Permitir activar/desactivar columnas desde Opciones de pantalla
function custom_category_columns_screen_option($columns) {
$columns['category_id'] = 'Mostrar ID de categoría';
$columns['copy_url'] = 'Mostrar botón Copiar URL';
return $columns;
}
add_filter('manage_edit-category_sortable_columns', 'custom_category_columns_screen_option');
add_filter('manage_edit-product_cat_sortable_columns', 'custom_category_columns_screen_option');
Cómo instalar el código
Sigue estos pasos para implementar el código en tu sitio de WordPress:
- Accede al archivo functions.php:
- Abre el panel de administración de WordPress.
- Ve a Apariencia > Editor de temas.
- Selecciona el archivo
functions.php
de tu tema activo.
- Pega el código:
- Copia el código proporcionado en este tutorial.
- Pégalo al final del archivo
functions.php
.
- Guarda los cambios:
- Después de pegar el código, guarda los cambios en el archivo
functions.php
.
- Después de pegar el código, guarda los cambios en el archivo
Descripción del código
- Añadir columnas personalizadas a las categorías:
- La función
custom_add_category_columns
añade dos nuevas columnas a la lista de categorías en el panel de administración.- ID: Muestra el ID de cada categoría.
- Copiar URL: Muestra un botón para copiar la URL de la categoría.
- La función
- Mostrar contenido en las columnas:
- La función
custom_category_columns_content
define qué contenido se mostrará en cada columna.- Para la columna ID, se muestra el ID de la categoría.
- Para la columna Copiar URL, se genera un botón que, al hacer clic, copiará la URL de la categoría al portapapeles.
- La función
- Script de JavaScript para copiar la URL:
- Se añade un pequeño script en el pie de la página de administración (en la función
custom_category_admin_scripts
) que maneja la acción de copiar la URL al portapapeles.
- Se añade un pequeño script en el pie de la página de administración (en la función
- Opciones de pantalla:
- La función
custom_category_columns_screen_option
permite que las nuevas columnas se activen o desactiven desde las opciones de pantalla en la parte superior de la vista de categorías de productos y entradas.
- La función
Cómo activar o desactivar las columnas
Una vez que hayas añadido y guardado el código, podrás personalizar la vista de las categorías:
- Ve a Entradas > Categorías o Productos > Categorías.
- Haz clic en la pestaña Opciones de pantalla en la parte superior de la página.
- Marca o desmarca las opciones Mostrar ID de categoría y Mostrar botón Copiar URL para activar o desactivar las columnas.
Con este código, podrás mejorar la gestión de categorías en WordPress, facilitando el acceso al ID y la URL de las categorías mediante un clic. Esta funcionalidad es útil especialmente para administradores que necesitan compartir enlaces rápidamente o trabajar con IDs de categorías de manera eficiente.