Continuamos con esta serie complementando los pasos básicos previos para la consecución de nuestro plugin. Hoy vamos a crear una taxonomía para attachments, que nos permitirá configurar un sistema de pseudo-directorios.
Con el barrido del directorio ‘uploads’, el listado de los attachments y la búsqueda de los datos acerca de los formatos de imagen, sólo faltan las taxonomías para tener casi todos los datos previos que necesitamos.
Sí, digo casi, pues aún tenemos pendiente un último dato que nos falta: saber en qué posts están los attachments vinculados. Eso lo veremos la próxima semana.
Indice
Desarrollo de la idea
Para empezar, hace dos artículos que incorporamos las taxonomías a nuestras relaciones en el plugin.
Taxonomías <–> Attachments <–> Sistema <–> Uploads
¿Para qué añadimos taxonomías a los attachments? Sencillo, para crear un pseudo sistema de directorios o carpetas, donde podremos organizar nuestros attachments, pero sin manipular el directorio ‘uploads’.
La idea final es que dispongamos de algo lo más parecido posible a un sistema operativo. Para ello, deberemos poder crear, eliminar, mover y editar los directorios y subdirectorios que tengamos a través de las taxonomías, así como los attachments, cuidando los archivos relacionados.
Codificación de la taxonomía para attachments
Previo al código con el que vamos a crear esta taxonomía para attachments, podéis aprender más sobre las taxonomías en los artículos The WP Functions Library. La Taxonomía y Taxonomías. Por tanto, no vamos a explicar más aquí.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
// Añadir taxonomía directorios add_action( 'init', 'stmpujante_crear_directorios', 0 ); function stmpujante_crear_directorios() { // Primero, definimos las etiquetas que veremos en pantalla $etiquetas = array( 'name' => _x( 'Directorios', 'taxonomy general name' ), 'singular_name' => _x( 'Directorio', 'taxonomy singular name' ), 'search_items' => __( 'Buscar por directorio', 'stmpujante' ), 'all_items' => __( 'Todos los directorios', 'stmpujante' ), 'parent_item' => __( 'Directorio superior', 'stmpujante' ), 'parent_item_colon' => __( 'Directorio superior', 'stmpujante' ), 'edit_item' => __( 'Editar directorio', 'stmpujante' ), 'update_item' => __( 'Actualizar directorio', 'stmpujante' ), 'add_new_item' => __( 'Añadir nuevo directorio', 'stmpujante' ), 'new_item_name' => __( 'Nombre del nuevo directorio', 'stmpujante' ), 'menu_name' => __( 'Directorios', 'stmpujante' ), ); // Después, los argumentos $argumentos = array( 'hierarchical' => true, 'labels' => $etiquetas, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'directorio' ), ); // Finalmente, declaramos la taxonomía register_taxonomy ( 'stmpujante_txn', array( 'attachment' ), $argumentos ); } |
Simplemente, hay que decir que algunas opciones, como ‘show_ui‘ o ‘show_admin_column‘ más adelante es posible que las desactivemos, una vez tengamos nuestro plugin más adelantado, para no añadir excesivas opciones al mismo, que podrían llevar a confusión.
Fichero de ejemplo
Como cada semana, he subido el fichero con el ejemplo al grupo de facebook WordPress en Español, así como al repositorio de GitHub. En artículos anteriores veréis como activar la plantilla de página.
Al activar el plugin, veréis que en el panel de administración, en Medios, aparece una opción nueva ‘Directorios’.

Conclusión y próximo artículo
En resumen, ya tenemos la taxonomía creada. Durante estos 5 artículos hemos recopilado los datos necesarios para nuestro plugin. En el próximo artículo recopilaremos el último: a qué posts están vinculados los diferentes attachments. A partir de entonces, entraremos de lleno en el plugin, su funcionamiento, y las nuevas características que incorporará a la biblioteca de medios de WordPress.
Contributors
Seguimos teniendo la misma lista de contributors para nuestro plugin.
miguelthepooh, sergiotoca
No dejaré de animaros a que participéis en este plugin. A pesar de que hasta ahora quizá esté resultando un poco tedioso, os aseguro que en adelante se pondrá más interesante. ¡Animo!
Preguntas, retos y previos
Finalmente, la taxonomía que hoy hemos creado la podéis instalar tranquilamente en vuestro WordPress, y empezar a clasificar vuestros attachments con la misma, ya que será la misma para toda la ejecución del plugin. Por eso, a medida que se avance en el desarrollo del plugin, vuestra clasificación de attachments permanecerá igual.