165 lines
8.8 KiB
PHP
165 lines
8.8 KiB
PHP
<?php
|
|
/**
|
|
* Registro de Taxonomías personalizadas
|
|
*
|
|
* @package Bloques_Transicion
|
|
*/
|
|
|
|
if (!defined('ABSPATH')) {
|
|
exit;
|
|
}
|
|
|
|
class Bloques_Taxonomies {
|
|
|
|
/**
|
|
* Registrar todas las taxonomías
|
|
*/
|
|
public static function register() {
|
|
self::register_iniciativa();
|
|
self::register_linea_trabajo();
|
|
self::register_tipo_evento();
|
|
}
|
|
|
|
/**
|
|
* Taxonomía: Iniciativas
|
|
*/
|
|
private static function register_iniciativa() {
|
|
$labels = [
|
|
'name' => _x('Iniciativas', 'taxonomy general name', 'bloques-transicion'),
|
|
'singular_name' => _x('Iniciativa', 'taxonomy singular name', 'bloques-transicion'),
|
|
'search_items' => __('Buscar Iniciativas', 'bloques-transicion'),
|
|
'popular_items' => __('Iniciativas populares', 'bloques-transicion'),
|
|
'all_items' => __('Todas las Iniciativas', 'bloques-transicion'),
|
|
'parent_item' => __('Iniciativa padre', 'bloques-transicion'),
|
|
'parent_item_colon' => __('Iniciativa padre:', 'bloques-transicion'),
|
|
'edit_item' => __('Editar Iniciativa', 'bloques-transicion'),
|
|
'view_item' => __('Ver Iniciativa', 'bloques-transicion'),
|
|
'update_item' => __('Actualizar Iniciativa', 'bloques-transicion'),
|
|
'add_new_item' => __('Añadir nueva Iniciativa', 'bloques-transicion'),
|
|
'new_item_name' => __('Nombre de nueva Iniciativa', 'bloques-transicion'),
|
|
'separate_items_with_commas' => __('Separar iniciativas con comas', 'bloques-transicion'),
|
|
'add_or_remove_items' => __('Añadir o eliminar iniciativas', 'bloques-transicion'),
|
|
'choose_from_most_used' => __('Elegir de las más usadas', 'bloques-transicion'),
|
|
'not_found' => __('No se encontraron iniciativas.', 'bloques-transicion'),
|
|
'no_terms' => __('No hay iniciativas', 'bloques-transicion'),
|
|
'menu_name' => __('Iniciativas', 'bloques-transicion'),
|
|
'items_list_navigation' => __('Navegación de iniciativas', 'bloques-transicion'),
|
|
'items_list' => __('Lista de iniciativas', 'bloques-transicion'),
|
|
'back_to_items' => __('← Volver a Iniciativas', 'bloques-transicion'),
|
|
];
|
|
|
|
$args = [
|
|
'labels' => $labels,
|
|
'hierarchical' => true, // Como categorías
|
|
'public' => true,
|
|
'show_ui' => true,
|
|
'show_admin_column' => true,
|
|
'show_in_nav_menus' => true,
|
|
'show_tagcloud' => false,
|
|
'show_in_rest' => true,
|
|
'rewrite' => ['slug' => 'bloques/iniciativa', 'with_front' => false],
|
|
'query_var' => true,
|
|
];
|
|
|
|
// Asociar a todos los CPTs de Bloques + entradas (noticias)
|
|
$post_types = ['actuacion', 'recurso_bloques', 'evento_bloques', 'post'];
|
|
register_taxonomy('iniciativa', $post_types, $args);
|
|
}
|
|
|
|
/**
|
|
* Taxonomía: Líneas de Trabajo
|
|
*/
|
|
private static function register_linea_trabajo() {
|
|
$labels = [
|
|
'name' => _x('Líneas de Trabajo', 'taxonomy general name', 'bloques-transicion'),
|
|
'singular_name' => _x('Línea de Trabajo', 'taxonomy singular name', 'bloques-transicion'),
|
|
'search_items' => __('Buscar Líneas de Trabajo', 'bloques-transicion'),
|
|
'popular_items' => __('Líneas de Trabajo populares', 'bloques-transicion'),
|
|
'all_items' => __('Todas las Líneas de Trabajo', 'bloques-transicion'),
|
|
'parent_item' => __('Línea de Trabajo padre', 'bloques-transicion'),
|
|
'parent_item_colon' => __('Línea de Trabajo padre:', 'bloques-transicion'),
|
|
'edit_item' => __('Editar Línea de Trabajo', 'bloques-transicion'),
|
|
'view_item' => __('Ver Línea de Trabajo', 'bloques-transicion'),
|
|
'update_item' => __('Actualizar Línea de Trabajo', 'bloques-transicion'),
|
|
'add_new_item' => __('Añadir nueva Línea de Trabajo', 'bloques-transicion'),
|
|
'new_item_name' => __('Nombre de nueva Línea de Trabajo', 'bloques-transicion'),
|
|
'separate_items_with_commas' => __('Separar líneas con comas', 'bloques-transicion'),
|
|
'add_or_remove_items' => __('Añadir o eliminar líneas', 'bloques-transicion'),
|
|
'choose_from_most_used' => __('Elegir de las más usadas', 'bloques-transicion'),
|
|
'not_found' => __('No se encontraron líneas de trabajo.', 'bloques-transicion'),
|
|
'no_terms' => __('No hay líneas de trabajo', 'bloques-transicion'),
|
|
'menu_name' => __('Líneas de Trabajo', 'bloques-transicion'),
|
|
'items_list_navigation' => __('Navegación de líneas', 'bloques-transicion'),
|
|
'items_list' => __('Lista de líneas', 'bloques-transicion'),
|
|
'back_to_items' => __('← Volver a Líneas de Trabajo', 'bloques-transicion'),
|
|
];
|
|
|
|
$args = [
|
|
'labels' => $labels,
|
|
'hierarchical' => true,
|
|
'public' => true,
|
|
'show_ui' => true,
|
|
'show_admin_column' => true,
|
|
'show_in_nav_menus' => true,
|
|
'show_tagcloud' => false,
|
|
'show_in_rest' => true,
|
|
'rewrite' => ['slug' => 'bloques/linea-trabajo', 'with_front' => false],
|
|
'query_var' => true,
|
|
];
|
|
|
|
$post_types = ['actuacion', 'recurso_bloques', 'evento_bloques', 'post'];
|
|
register_taxonomy('linea_trabajo', $post_types, $args);
|
|
}
|
|
|
|
/**
|
|
* Taxonomía: Tipo de Evento
|
|
*/
|
|
private static function register_tipo_evento() {
|
|
$labels = [
|
|
'name' => _x('Tipos de Evento', 'taxonomy general name', 'bloques-transicion'),
|
|
'singular_name' => _x('Tipo de Evento', 'taxonomy singular name', 'bloques-transicion'),
|
|
'search_items' => __('Buscar Tipos', 'bloques-transicion'),
|
|
'popular_items' => __('Tipos populares', 'bloques-transicion'),
|
|
'all_items' => __('Todos los Tipos', 'bloques-transicion'),
|
|
'parent_item' => null,
|
|
'parent_item_colon' => null,
|
|
'edit_item' => __('Editar Tipo', 'bloques-transicion'),
|
|
'view_item' => __('Ver Tipo', 'bloques-transicion'),
|
|
'update_item' => __('Actualizar Tipo', 'bloques-transicion'),
|
|
'add_new_item' => __('Añadir nuevo Tipo', 'bloques-transicion'),
|
|
'new_item_name' => __('Nombre del nuevo Tipo', 'bloques-transicion'),
|
|
'separate_items_with_commas' => __('Separar tipos con comas', 'bloques-transicion'),
|
|
'add_or_remove_items' => __('Añadir o eliminar tipos', 'bloques-transicion'),
|
|
'choose_from_most_used' => __('Elegir de los más usados', 'bloques-transicion'),
|
|
'not_found' => __('No se encontraron tipos.', 'bloques-transicion'),
|
|
'no_terms' => __('No hay tipos', 'bloques-transicion'),
|
|
'menu_name' => __('Tipos de Evento', 'bloques-transicion'),
|
|
'items_list_navigation' => __('Navegación de tipos', 'bloques-transicion'),
|
|
'items_list' => __('Lista de tipos', 'bloques-transicion'),
|
|
'back_to_items' => __('← Volver a Tipos', 'bloques-transicion'),
|
|
];
|
|
|
|
$args = [
|
|
'labels' => $labels,
|
|
'hierarchical' => false, // Como etiquetas (permite múltiple selección)
|
|
'public' => true,
|
|
'show_ui' => true,
|
|
'show_admin_column' => true,
|
|
'show_in_nav_menus' => true,
|
|
'show_tagcloud' => false,
|
|
'show_in_rest' => true,
|
|
'rewrite' => ['slug' => 'bloques/tipo-evento', 'with_front' => false],
|
|
'query_var' => true,
|
|
];
|
|
|
|
register_taxonomy('tipo_evento', ['evento_bloques'], $args);
|
|
}
|
|
|
|
/**
|
|
* Obtener todas las taxonomías del plugin
|
|
*/
|
|
public static function get_taxonomies() {
|
|
return ['iniciativa', 'linea_trabajo', 'tipo_evento'];
|
|
}
|
|
}
|