Ampliación de la herramienta de Edición rápida para términos de taxonomía
Spanish (Español) translation by Andrea Jiménez (you can also view the original English article)
WordPress ofrece el formulario de edición rápida para administrar la información de términos de taxonomía... lo cual es genial, pero ¿qué sucede si quieres editar más que solo el nombre de tu término y slug? Este tutorial explicará cómo extender esta maravillosa función de WordPress para actualizar más de lo básico.
Introducción
La función de edición rápida en WordPress es una herramienta simple que se utiliza para permitirle a los usuarios editar fragmentos de datos asociados con publicaciones, páginas y términos sin la molestia de navegar a una página separada antes de editar los datos. El uso de Edición rápida es omnipresente en todo WordPress y este tutorial le enseñará a los lectores cómo aprovechar el poder de esta característica para usar con términos de taxonomía. Después de seguir los siguientes cinco pasos, podrás agregar con éxito metadatos de términos de taxonomía a través del panel de edición rápida en WordPress.
- Preparación de un ejemplo práctico
- Registrar la taxonomía personalizada
- Habilitar metadatos de términos taxonómicos
- Crear columnas de tabla de lista de términos
- Agregar contenido al formulario de edición rápida
- Guardar datos de formularios
- Rellenar previamente los campos de formulario
Paso 1 Preparación de un ejemplo práctico
Para demostrar cómo agregar metadatos de términos de taxonomía con Edición rápida, trabajaré con un ejemplo de adjuntar metadatos a términos en una taxonomía de "presidente" en el contexto de un plugin. Para este ejemplo, el objetivo principal será adjuntar dos metadatos a cada término de taxonomía de presidente: fecha de inicio y fecha de finalización. Una taxonomía de presidente puede ser útil para un bloguero político que quiera categorizar las publicaciones de los presidentes discutidos.
Para este ejemplo, crearé un plugin que utiliza el siguiente directorio y estructura de archivos:
- quick-edit
- js
- quick-edit.js
- edición rápida.php
- js
La carpeta principal "quick-edit" debe colocarse en la carpeta de plugins para utilizarla como un plugin. Crea esta estructura de archivos para prepararte para el resto del tutorial. Si se hace correctamente, la estructura de archivos debe ser similar a la siguiente imagen.

Para asegurarte de que WordPress reconozca el plugin como un plugin, se debe agregar la información del encabezado del plugin estándar. Agregar el siguiente comentario en la parte superior de "quick-edit.php" permitirá que el plugin sea reconocido por WordPress.
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: WP Tuts Quick Edit For Taxonomy Terms Plugin Example
|
4 |
Plugin URI: https://wp.tutsplus.com
|
5 |
Description: This plugin illustrates Quick Edit for Taxonomy Terms.
|
6 |
Version: 1.0
|
7 |
Author: Your Name
|
8 |
Author URI: http://yourdomain.com
|
9 |
License: GPL2
|
10 |
*/> |
Después de agregar la información del encabezado, activa el plugin a través de la página de plugins de WordPress. El plugin de ejemplo está todo configurado y listo para el resto del tutorial.
Registrar la taxonomía personalizada
Antes de saltar a agregar al formulario de edición rápida, la taxonomía de presidente debe estar registrada y WordPress debe estar preparado para manejar metadatos de términos. El registro de taxonomías personalizadas no se tratará a profundidad en este tutorial, ya que se ha abordado a fondo en otros lugares. Para el ejemplo presente, es necesario registrar una taxonomía de "presidente". Esta operación se completará con la función "register_taxonomy".
1 |
function my_taxonomies() |
2 |
{
|
3 |
// Add new taxonomy, make it hierarchical (like categories)
|
4 |
$labels = array( |
5 |
'name' => _x('Presidents', 'taxonomy general name', 'my_plugin'), |
6 |
'singular_name' => _x('President', 'taxonomy singular name', 'my_plugin'), |
7 |
'search_items' => __('Search Presidents', 'my_plugin'), |
8 |
'all_items' => __('All Presidents', 'my_plugin'), |
9 |
'parent_item' => __('Parent President', 'my_plugin'), |
10 |
'parent_item_colon' => __('Parent President:', 'my_plugin'), |
11 |
'edit_item' => __('Edit President', 'my_plugin'), |
12 |
'update_item' => __('Update President', 'my_plugin'), |
13 |
'add_new_item' => __('Add New President', 'my_plugin'), |
14 |
'new_item_name' => __('New President Name', 'my_plugin'), |
15 |
'menu_name' => __('Presidents', 'my_plugin'), |
16 |
);
|
17 |
|
18 |
register_taxonomy( |
19 |
'president', |
20 |
array('post'), |
21 |
array( |
22 |
'hierarchical' => true, |
23 |
'labels' => $labels, |
24 |
'show_ui' => true, |
25 |
'query_var' => true, |
26 |
'rewrite' => array( |
27 |
'slug' => 'president' |
28 |
)
|
29 |
)
|
30 |
);
|
31 |
}
|
32 |
add_action('init', 'my_taxonomies', 10, 1); |
Este fragmento de código crea una nueva taxonomía personalizada de tipo "presidente". La taxonomía está especificada para trabajar con el tipo de publicación "publicación" y es una taxonomía jerárquica similar a la taxonomía de "categoría" incorporada. Para comenzar, completa la taxonomía de los presidentes con los últimos tres presidentes de Estados Unidos:
- Bill Clinton
- George W. Bush
- Barack Obama
Si todo ha ido correctamente en este punto, deberías tener un enlace para "Presidentes" en el menú "Publicaciones" y deberías tener una tabla de lista de términos que se parezca a la siguiente imagen.


Si bien este trabajo no ha contribuido a la tarea de habilitar la Edición rápida para metadatos de términos, ha configurado una taxonomía con la que trabajar en este ejemplo.
Habilitar metadatos de términos taxonómicos
La siguiente tarea es preparar WordPress para manejar metadatos de términos. En WordPress 2.9, se agregaron un conjunto de funciones útiles al núcleo de WordPress que sentó la mayor parte de las bases para la meta gestión de términos. Las funciones "add_metadata", "update_metadata" y "get_metadata" permitieron un método simple para administrar el término meta; sin embargo, estas funciones solo proporcionan parte de la solución. Para agregar el término meta, primero se debe agregar una tabla a la base de datos de WordPress para que estas funciones administren los datos.
Afortunadamente, Jacob Goldman escribió un plugin maravilloso, Simple Term Meta, que maneja esta tarea, además de proporcionarle a los desarrolladores funciones útiles (por ejemplo, "add_term_meta", "update_term_meta", "get_term_meta") para manejar la gestión de meta términos. En esencia, este plugin le agrega un término de taxonomía API de metadatos al sistema de WordPress. Como dice el Sr. Goldman:
"WordPress ofrece soporte de metadatos para publicaciones, usuarios y comentarios listos para usar. ¡Pero falta el soporte meta para términos de taxonomía (una etiqueta, categoría o términos de taxonomía personalizados)! Este plugin agrega soporte completo y eficiente para meta de término basado en el marco de meta de publicación integrado en WordPress. Agrega una tabla 'postmeta' y metafunciones de publicación que deberían ser familiares para cualquiera que haya trabajado con la meta de publicación de WordPress".
Para el presente ejemplo, este plugin debe estar instalado para poder trabajar con el término meta. Antes de continuar, asegúrate de descargar e instalar Simple Term Meta. Con este plugin instalado, es hora de comenzar a codificar el formulario de edición rápida.
"Para una discusión más amplia sobre la administración del término meta usando Simple Term Meta y la creación de una interfaz de usuario para agregar y editar metadatos de términos de taxonomía, consulta mi artículo 'Agregar metadatos a los términos de taxonomía'".
Paso 2 Crear columnas de tabla de lista de términos
En la imagen anterior de la página de taxonomía de presidentes, observa que hay cuatro columnas en la tabla de lista de términos: Nombre, Descripción, Slug y Publicaciones. En última instancia, nuestro plugin le adjuntará una fecha de inicio y una fecha de finalización a cada presidente. Al igual que con los otros datos de términos, la fecha de inicio y la fecha de finalización deben mostrarse en esta tabla. Este objetivo se puede lograr fácilmente con algunos filtros de WordPress.
En primer lugar, se agregarán los encabezados
1 |
function my_column_header($columns) |
2 |
{
|
3 |
$columns['start-date'] = __('Start Date', 'my_plugin'); |
4 |
$columns['end-date'] = __('End Date', 'my_plugin'); |
5 |
return $columns; |
6 |
}
|
7 |
add_filter('manage_edit-president_columns', 'my_column_header', 10, 1); |
Con el filtro manage_{$screen->id}_columns, se agregan dos columnas adicionales a la tabla de lista de términos. El filtro manage_{$screen->id}_columns envía un argumento a la función de devolución de llamada my_column_header. Este argumento $columns es una matriz de columnas para la pantalla actual.
Simplemente agregando elementos a la matriz y devolviendo esa matriz, se agregarán nuevas columnas a la tabla de lista de términos. El filtro manage_{$screen->id}_columns es un filtro variable en el que el nombre real del filtro cambia en función de la pantalla actual que se está viendo. En el caso de ver una página de administración de taxonomía, la parte variable del filtro comenzará con "edit-" y terminará con el nombre de la taxonomía actual. Como estamos agregando a la taxonomía del presidente, este valor es "presidente", el cual se especificó cuando se definió inicialmente la taxonomía. Usa los siguientes filtros para las taxonomías estándar de WordPress:
- Categorías: manage_edit-category_columns
- Etiquetas de publicación: manage_edit-post_tag_columns
- Categorías de enlaces: manage_edit-link_category_columns
Ya que se agregaron las columnas, las columnas deben estar preparadas para mostrar el término meta para los términos individuales, lo que se logra con el siguiente fragmento de código.
1 |
function my_column_value($empty = '', $custom_column, $term_id) |
2 |
{
|
3 |
return esc_html(get_term_meta($term_id, $custom_column, true)); |
4 |
}
|
5 |
add_filter('manage_president_custom_column', 'my_column_value', 10, 3); |
El término meta valores se agrega mediante el filtro manage_{$screen->taxonomy}_custom_column. La parte variable de este filtro se refiere a la taxonomía actual, que, en este caso, es "presidente". El filtro manage_{$screen->taxonomy}_custom_column acepta tres argumentos:
-
$empty: un argumento obsoleto que debe dejarse vacío -
$custom_column: el nombre de la columna actual (por ejemplo, 'fecha de inicio', 'fecha final') -
$term_id: el identificador del término taxonomía actual
Los dos últimos argumentos se utilizan para encontrar el valor del término metavalor de interés. Más adelante en el tutorial, la "fecha de inicio" y la "fecha de finalización" se agregarán a la base de datos utilizando la función add_term_meta del término meta API proporcionada por el plugin Simple Term Meta. Los valores se almacenarán con las claves "fecha de inicio" y "fecha de finalización". La función get_term_meta toma la clave y el identificador del término como argumentos para localizar el metavalor adecuado.
Obviamente, el $term_id enviado a la función my_column_value es el identificador del término necesario y, por lo tanto, se usa para el argumento $term_id en la función get_term_meta. Afortunadamente, en este caso, la variable $column_name es idéntica a la clave del término meta. Como tal, se utiliza como el segundo argumento en la función get_term_meta.
Finalmente, la llamada a la función get_term_meta se ajusta en la función esc_html, que es una función de formato básica de WordPress que escapa al HTML en pantalla.
En este punto del tutorial, este código devolverá una cadena vacía porque aún no se ha configurado ningún término meta. Una vez que se agregan estas fechas, aparecerán en la fila y columna correctas en la tabla de lista de términos. Con los dos fragmentos de código anteriores agregados, la tabla de lista de términos está empezando a tomar forma.


Ahora que las columnas están configuradas, es hora de agregar al formulario de Edición rápida en preparación para agregar el término meta a los términos.
Paso 3 Agregar contenido al formulario de edición rápida
Agregar contenido al formulario de Edición rápida es la parte más fácil de este tutorial; sin embargo, existen algunos peligros potenciales si no tienes cuidado. La acción quick_edit_custom_box permite un fácil acceso para agregar campos adicionales al formulario de Edición rápida. La siguiente función agrega los campos personalizados al formulario de Edición rápida
1 |
function my_quick_edit_custom_box($column_name, $screen, $name) |
2 |
{
|
3 |
if($name != 'president' && ($column_name != 'start-date' || $column_name != 'end-date')) return false; |
4 |
?>
|
5 |
<fieldset>
|
6 |
<div id="my-custom-content" class="inline-edit-col"> |
7 |
<label>
|
8 |
<span class="title"><?php if($column_name == 'start-date') _e('Start Date', 'my_plugin'); else _e('End Date', 'my_plugin'); ?></span> |
9 |
<span class="input-text-wrap"><input type="text" name="<?php echo $column_name; ?>" class="ptitle" value=""></span> |
10 |
</label>
|
11 |
</div>
|
12 |
</fieldset>
|
13 |
<?php
|
14 |
}
|
15 |
add_action('quick_edit_custom_box', 'my_quick_edit_custom_box', 10, 3); ?> |
Antes de saltar a la explicación de esta función, haz clic en uno de los enlaces "Edición rápida" en la página de taxonomía de presidentes. Deberías ver algo similar a la siguiente imagen.


El concepto básico con esta función y acción es bastante simple. Para cada columna que se agrega mediante el filtro manage_{$screen->id}_columns, se llama a quick_edit_custom_box. Esto permite agregar campos de formulario personalizados (o cualquier contenido) para cada columna definida.
Es importante tener en cuenta en este punto que si no has agregado ninguna columna a la tabla de lista de términos, no podrás agregar ningún contenido a través de la acción quick_edit_custom_box.
El quick_edit_custom_box acepta tres argumentos:
-
$column_name: la clave de los valores agregados en la funciónmy_column_header -
$screen: la pantalla actual -
$name: nombre de la taxonomía actual
En el my_quick_edit_custom_box, solo se utilizan los argumentos $column_name y $name. Primero, se realiza una verificación para garantizar que los campos se impriman solo en el contexto correcto. Si la taxonomía actual no es "presidente", los campos no deberían mostrarse.
Luego, los campos solo deben mostrarse cuando se ejecuta la acción quick_edit_custom_box para la columna "fecha de inicio" o "fecha de finalización". Como tal, la declaración condicional verifica que la columna sea uno de esos dos valores. Este paso es importante para garantizar que los campos no se generen para columnas inesperadas. Por ejemplo, la taxonomía "link_category" integrada tiene una columna adicional llamada "links". Cuando uses este filtro en esa taxonomía y no compruebes las columnas específicas que se agregaron a la lista de columnas, se imprimirá un campo adicional. Ten en cuenta que los campos estándar "nombre", "descripción" y "slug" no llaman a la quick_edit_custom_box.
Ahora que se verifica el contexto apropiado, se imprime el campo del formulario. El valor de la variable $column_name nos permite determinar el contexto del uso actual de la acción quick_edit_custom_box.
Como tal, se puede utilizar para configurar la etiqueta y el campo del nombre. Dado que nuestras claves de columna, "fecha de inicio" y "fecha de finalización" serán las mismas que las claves utilizadas para el término meta, la variable $column_name
se utiliza para el atributo de nombre en el campo de entrada de texto. Ten en cuenta que esta función se ejecuta una vez para cada columna definida. La primera vez que se llama, se generará el campo "Fecha de inicio" con la etiqueta adecuada. En la segunda ejecución, se generará el campo "Fecha de finalización" con la etiqueta correspondiente.
Para mantener el marcado consistente con el formulario existente, simplemente copié el HTML utilizado para los campos estándar de WordPress y lo pegué en la función my_quick_edit_custom_box. Esto le dará a la forma resultante una apariencia consistente. El valor del campo no está configurado en este momento.
Este formulario se genera como un formulario "ficticio" que se clonará y colocará cada vez que se haga clic en el enlace "Edición rápida". Cuando se hace clic en un enlace de "Edición rápida", una función de JavaScript completará el campo con el valor actual, si se configura uno. Si ves el código fuente de la página de taxonomía de los presidentes, el formulario de edición rápida se encuentra cerca del <div> de cierre del contenido del cuerpo, en ninguna parte cerca de la tabla de lista de términos.
Con los campos listos para funcionar, el siguiente paso es guardar los valores en la base de datos.
Paso 4 Guardar datos de formularios
Guardar la fecha de inicio y la fecha de finalización de los términos del presidente requerirá la utilización de una función proporcionada por Simple Term Meta, update_term_meta. Esta función funciona de manera similar a la función utilizada para guardar la meta de la publicación, update_post_meta. La principal diferencia, por supuesto, es que la función update_term_meta guarda datos para términos, en contraposición a publicaciones. Esta función toma cuatro argumentos, tres de los cuales se utilizarán en la implementación actual de la función:
-
$term_id: identificador del término al que están asociados los metadatos -
$meta_key: nombre del valor de metadatos -
$meta_value: valor para los metadatos -
$prev_value: valor anterior de los metadatos; ayuda a diferenciar entre dos partes de metadatos con term_id y meta_key idénticos
La siguiente función guardará la fecha de inicio y la fecha de finalización cuando se actualice el término.
1 |
function my_save_term_meta($term_id) |
2 |
{
|
3 |
$allowed_html = array( |
4 |
'b' => array(), |
5 |
'em' => array (), |
6 |
'i' => array (), |
7 |
'strike' => array(), |
8 |
'strong' => array(), |
9 |
);
|
10 |
if(isset($_POST['start-date'])) |
11 |
update_term_meta($term_id, 'start-date', wp_kses($_POST['start-date'], $allowed_html)); |
12 |
if(isset($_POST['end-date'])) |
13 |
update_term_meta($term_id, 'end-date', wp_kses($_POST['end-date'], $allowed_html)); |
14 |
}
|
Algunas cosas deben tenerse en cuenta con esta función. En primer lugar, antes de enviar los datos, la función comprueba para asegurarse de que la matriz $_POST contiene el valor esperado. Si existe, se actualiza el término metadatos. Si actualmente no existen metadatos de términos para el término con la clave especificada, se crea un nuevo valor. El update_term_meta controlará la determinación de si es necesario agregar o actualizar una entrada de la tabla.
El valor $term_id que se pasa a la función es el id del término actual y, por lo tanto, se envía a la función update_term_meta junto con la clave meta ("fecha de inicio") y el valor meta ('$ _POST ['fecha-de-inicio']'). Además, sería un pecado mortal no validar estos datos antes de enviarlos a la base de datos. En este ejemplo, uso wp_kses con las etiquetas HTML más básicas permitidas para desinfectar las etiquetas HTML al guardarlas en la base de datos.
Solo estoy haciendo una desinfección de datos muy básica para recordarle a los lectores que la desinfección y validación de datos es muy importante; sin embargo, no abordaré más este problema aquí para concentrarme en la tarea y no confundir el problema con rutinas de validación complejas. Como tal, recomiendo leer algunos artículos sobre el tema si no estás familiarizado con la validación y desinfección de datos.
El simple hecho de agregar esta función al archivo no completará la tarea de guardar estos datos; la función debe ejecutarse utilizando un gancho de WordPress. Dado que la idea es ejecutar esta función cuando se actualiza un término, el enlace edited_$taxonomy es el enlace adecuado para el trabajo. La parte $taxonomy del enlace es una variable que toma el nombre de la taxonomía que se está editando. Para este ejemplo, este gancho se utilizará utilizando edited_president. El siguiente fragmento llamará a my_save_term_meta en el momento apropiado.
1 |
add_action('edited_president', 'my_save_term_meta', 10, 1); |
Con my_save_term_meta escrito y ejecutado en el gancho edited_president, los datos deben guardarse en la base de datos y deben aparecer en las columnas correctas. Si todo funciona como debería, los resultados deberían tener un aspecto similar al de la siguiente imagen.


Paso 5 Rellenar previamente los campos de formulario
Antes de obtener la victoria en esta tarea, es importante notar que la solución, tal como está, carece de una característica de usabilidad crítica. Más específicamente, para un término que tiene la fecha de inicio y la fecha de finalización agregadas, los valores no se completan en el campo del formulario cuando se invoca la Edición rápida. Mencioné esto anteriormente en el paso 3 cuando dije que los valores para el campo de formulario no se agregan cuando se crea el formulario; en su lugar, se rellenan con Javascript cuando se invoca la edición rápida. Completar previamente estos campos de formulario es una adición importante para los usuarios, ya que hace que la actualización de los datos sea muy simple, especialmente cuando se cometen errores tipográficos.
Para rellenar previamente los campos, se utilizará jQuery para determinar qué valores van en qué campos. Para tener una idea de cómo WordPress maneja las columnas estándar, recomiendo revisar el método "edit" en el archivo "inline-edit-tax-dev.js" ubicado en el directorio "wp-admin/js/" del núcleo de WordPress. Usando este código como guía, desarrollé la siguiente función para insertar los valores existentes en los campos de formulario cuando se invoca la edición rápida. Agrega esta función al archivo "js/quick-edit.js" que creaste en el primer paso del tutorial.
1 |
jQuery(document).ready(function(){
|
2 |
jQuery('.editinline').live('click', function(){
|
3 |
var tag_id = jQuery(this).parents('tr').attr('id');
|
4 |
var start_date = jQuery('.start-date', '#'+tag_id).text();
|
5 |
var end_date = jQuery('.end-date', '#'+tag_id).text();
|
6 |
jQuery(':input[name="start-date"]', '.inline-edit-row').val(start_date);
|
7 |
jQuery(':input[name="end-date"]', '.inline-edit-row').val(end_date);
|
8 |
return false; |
9 |
}); |
10 |
}); |
Repasemos este código para comprender lo que está sucediendo. Dentro de la llamada a la función jQuery ready, la segunda línea asigna un evento de "clic" a cada enlace de edición rápida. La tercera línea intenta encontrar el identificador de la fila de la tabla actual en la tabla de lista de términos. Este valor de id es necesario para los selectores contextuales de jQuery más adelante en la función. La extracción del código HTML de la tabla de lista de términos tiene el siguiente aspecto (Nota: se eliminaron numerosas líneas para mejorar la legibilidad y para ilustrar el concepto):
1 |
<tr id="tag-33" style="display: table-row; "> |
2 |
....... |
3 |
<td class="name column-name"> |
4 |
....... |
5 |
<div class="row-actions"> |
6 |
....... |
7 |
<span class="inline hide-if-no-js"> |
8 |
<a href="#" class="editinline">Quick Edit</a> | |
9 |
</span>
|
10 |
....... |
11 |
</div>
|
12 |
<div class="hidden" id="inline_33"> |
13 |
<div class="name">Bill Clinton</div> |
14 |
<div class="slug">bill-clinton</div> |
15 |
<div class="parent">0</div> |
16 |
</div>
|
17 |
</td>
|
18 |
....... |
19 |
<td class="start-date column-start-date">January 20, 1993</td> |
20 |
<td class="end-date column-end-date">January 20, 2001</td> |
21 |
</tr>
|
Mirando hacia atrás en la tercera línea de la función jQuery, se puede ver que cuando se hace clic en la instancia actual del enlace de edición rápida, que tiene la clase "editinline", la función intenta encontrar la fila de la tabla principal (parents('tr')) y, una vez que se encuentra, obtiene su id. En este caso, la variable tag_id será "tag-33". Con ese valor id en la mano, la cuarta línea de la función jQuery busca la clase "fecha de inicio" en el contexto de la fila de la tabla que tiene un id que es equivalente a la variable tag_id.
El texto de ese elemento coincidente se devuelve y se asigna a la variable start_date. En este caso, el texto en la celda de la tabla con la clase "fecha de inicio" que está dentro de la fila de la tabla con el id "tag-33" es "20 de enero de 1993", la fecha de inicio que estamos tratando de encontrar. La siguiente línea de código refleja este proceso para el valor de la fecha de finalización. Puesto que se han localizado estos valores, el siguiente paso es utilizarlos para rellenar los campos adecuados. La sexta línea de la función jQuery hace precisamente eso. Intenta localizar una entrada con el atributo de nombre "fecha de inicio" que es parte del elemento que tiene la clase "fila-edición-en línea" (jQuery(':input[name="fecha-inicio"]', '.inline-edit-row')).
Si miras hacia atrás en el HTML escrito para el formulario de edición rápida que se agregó usando el gancho quick_edit_custom_box, verás que se creó una entrada con el nombre "fecha de inicio" que estaba dentro de un div con la clase "fila de edición en línea" . Esta línea de jQuery coincidirá con esta entrada y establecerá el valor del atributo "valor" en la cadena de texto contenida en la variable start_date. En este caso, la entrada con nombre igual a "fecha de inicio" tendrá su atributo "valor" configurado en "20 de enero de 1993". Luego, se llevan a cabo los mismos pasos para la "fecha de finalización" y ese campo de entrada se completará de manera similar.
Ahora que esta función ha sido escrita y agregada al archivo "quick-edit.js", debe ponerse en cola usando wp_enqueue_script. La siguiente función y acción agrega el script a la sección head del HTML cuando se carga la página de taxonomía de presidentes.
1 |
function my_add_admin_scripts() |
2 |
{
|
3 |
global $pagenow; |
4 |
|
5 |
if($pagenow == 'edit-tags.php' && (isset($_GET['taxonomy']) && $_GET['taxonomy'] == 'president') && !isset($_GET['action'])) |
6 |
{
|
7 |
wp_register_script( |
8 |
'quick-edit-js', |
9 |
plugins_url('/js/quick-edit.js', __FILE__), |
10 |
array('jquery') |
11 |
);
|
12 |
wp_enqueue_script('quick-edit-js'); |
13 |
}
|
14 |
}
|
15 |
add_action('admin_enqueue_scripts', 'my_add_admin_scripts', 10, 1); |
Esta función primero verifica el contexto actual para determinar si se necesita Javascript. Si la página es "edit-tags.php", la taxonomía actual es "presidente" y el parámetro "acción" no está configurado (es decir, la página no es la página de edición del término), el archivo Javascript se agrega a la cola de scripts. Una de las mayores molestias entre la comunidad de desarrollo de WordPress es no tener en cuenta dónde se están agregando los archivos JavaScript y CSS. Dado que este script solo es necesario cuando el usuario está en la página de taxonomía de presidentes, solo se agrega entonces. El resto de la función registra el script y lo agrega mediante wp_enqueue_script. Finalmente, esta función se ejecuta en la acción "admin_init", que se ejecuta al principio del proceso de carga de páginas dentro del panel de administración de WordPress. Si todo se ejecuta correctamente, los campos del formulario deben completarse cuando se hace clic en los enlaces "Edición rápida".


Conclusión
El presente tutorial te enseñó a utilizar la característica Edición rápida en la tabla de lista de términos para agregar contenido para editar metadatos de términos. Con esta estrategia, puedes agregar tus propios elementos al área de Edición rápida en tu próximo plugin o tema. Cabe señalar que si estás utilizando Edición rápida, también debes tener una forma de agregar y editar campos normalmente a través de las páginas de agregar y editar términos de taxonomía. Puedes encontrar algunos excelentes tutoriales sobre este tema y combinar tus conocimientos adquiridos en este tutorial para crear una forma excelente y útil para que los usuarios administren metadatos de términos de taxonomía. ¡Finalmente, quiero agradecer especialmente a Rarst por revisar mi código para este tutorial antes de publicarlo!



