manifest / unclassified / cdb-empleado
CdB_Empleado
Plugin para gestionar el tipo de contenido "Empleado" en la plataforma CdB.
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/patricdb/cdb-empleado/archive/refs/heads/main.zipPlugin de WordPress que registra el tipo de contenido Empleado, su rol asociado y las herramientas para gestionar disponibilidad, equipos y calificaciones dentro de la plataforma CdB. En la vista singular del empleado se auto-inyecta una tarjeta de perfil con gráfica y listado de equipos.
Tabla de contenidos
- Descripción
- Requisitos
- Dependencias y supuestos
- Instalación
- Configuración
- Uso
- Shortcodes
- Hooks y filtros
- Modelo de datos
- Assets (CSS/JS)
- Seguridad e i18n
- Compatibilidad y buenas prácticas
- Solución de problemas
- Roadmap
- Licencia y créditos
- Changelog
Descripción
- CPT
empleadoconshow_in_resthabilitado (título, editor, imagen destacada, autor, campos personalizados). - Rol
empleadocon capacidades mínimas de lectura. - Metacampo Disponible y metabox Equipo y Año (filtrado dinámico por año).
- Auto-inyección en
singlede empleado: tarjeta, gráfica de calificación y listado de equipos.
Requisitos
- Mínimos: WordPress 4.7+, PHP 7.1+
- Recomendado: WordPress 6.6+, PHP 8.1+
Dependencias y supuestos
- CPT
equipo(meta_cdb_equipo_year) - CPT
cdb_posiciones(meta_cdb_posiciones_score) - Tabla personalizada
${prefix}cdb_experiencia(empleado_id,equipo_id,posicion_id) - Plugin cdb-grafica para cálculos/representación de la gráfica
Instalación
Desde ZIP
- Comprime como
cdb-empleado.zip. - Plugins → Añadir nuevo → Subir plugin.
- Activa CdB Empleado.
Desde repositorio
- Clona en
wp-content/plugins/cdb-empleado. - Activa en el panel de administración.
Configuración
Metacampo “Disponible”
- Metabox Información del Empleado
- Meta key:
disponible(1/0)
Metabox “Equipo y Año”
- Filtrado dinámico de equipos por año (
assets/js/equipo-year.js) - Meta keys:
_cdb_empleado_year,_cdb_empleado_equipo
Auto-inyección en single de empleado
Inserta tarjeta + gráfica + bloque de calificación + listado de equipos. Para desactivar:
add_filter('cdb_empleado_inyectar_grafica', '__return_false');
add_filter('cdb_empleado_inyectar_calificacion', '__return_false');
Rendimiento
- Submenú Rendimiento: define el TTL de ranking (
rank_ttlen segundos, predeterminado600).
Uso
Shortcode principal
[equipos_del_empleado]
[equipos_del_empleado empleado_id="123"]
- Si no se indica
empleado_id, usa el ID del post actual. - La salida lista equipos y posiciones según
${prefix}cdb_experiencia.
Hooks habituales
add_filter('cdb_grafica_empleado_html', function($html, $empleado_id, $args){
return '<div class="mi-grafica">...</div>';
}, 10, 3);
Shortcodes
| Shortcode | Atributos | Descripción | Ejemplo |
|---|---|---|---|
equipos_del_empleado |
empleado_id (int, opcional; por defecto el post ID) |
Lista equipos y posiciones del empleado consultando ${prefix}cdb_experiencia. |
[equipos_del_empleado empleado_id="15"] |
Hooks y filtros
| Hook/filtro | Propósito | Parámetros | Retorno | Ejemplo |
|---|---|---|---|---|
cdb_empleado_inyectar_grafica |
Habilita/inhibe la gráfica en single de empleado. |
bool $enabled, int $empleado_id |
bool | add_filter('cdb_empleado_inyectar_grafica','__return_false'); |
cdb_empleado_inyectar_calificacion |
Controla el bloque de calificación. | bool $enabled, int $empleado_id |
bool | add_filter('cdb_empleado_inyectar_calificacion','__return_false'); |
cdb_grafica_empleado_html |
Sustituye el HTML de la gráfica. | string $html, int $empleado_id, array $args |
string | add_filter('cdb_grafica_empleado_html','mi_callback',10,3); |
cdb_grafica_empleado_form_html |
Personaliza el formulario de calificación. | string $html, int $empleado_id, array $args |
string | add_filter('cdb_grafica_empleado_form_html','mi_form',10,3); |
cdb_grafica_empleado_scores_table_html |
Ajusta la tabla de puntuaciones. | string $html, int $empleado_id, array $args |
string | add_filter('cdb_grafica_empleado_scores_table_html','mi_tabla',10,3); |
cdb_grafica_empleado_total |
Modifica el puntaje total mostrado. | float $total, int $empleado_id |
float | add_filter('cdb_grafica_empleado_total','mi_total',10,2); |
cdb_empleado_use_new_card |
Decide uso de tarjeta alternativa. | bool $use_new, int $empleado_id |
bool | add_filter('cdb_empleado_use_new_card','__return_true'); |
cdb_grafica_empleado_notice |
Personaliza aviso en la sección de calificación. | string $msg, int $empleado_id |
string | add_filter('cdb_grafica_empleado_notice','mi_aviso',10,2); |
cdb_empleado_card_data |
Filtra datos mostrados en la tarjeta. | array $data, int $empleado_id |
array | add_filter('cdb_empleado_card_data','mi_data',10,2); |
cdb_empleado_rank_ttl |
Ajusta duración del caché de rankings. | int $seconds |
int | add_filter('cdb_empleado_rank_ttl', fn()=>300); |
cdb_empleado_rank_current |
Modifica ranking calculado para un empleado. | mixed $rank, int $empleado_id |
mixed | add_filter('cdb_empleado_rank_current','mi_rank',10,2); |
Modelo de datos
- CPTs:
empleado(propio),equipo,cdb_posiciones(supuestos) - Rol:
empleado(capacidadread) - Meta keys:
disponible,_cdb_empleado_year,_cdb_empleado_equipo - Tabla:
${prefix}cdb_experiencia(relación empleado–equipo–posición)
Assets (CSS/JS)
| Handle | Tipo | Dónde se carga | Notas |
|---|---|---|---|
cdb-empleado-metabox |
JS | Admin al editar/crear CPT empleado | cdb-empleado.php:168-179 |
cdb-perfil-empleado |
CSS | Solo en is_singular('empleado') |
cdb-empleado.php:199-204 |
cdb-empleado-card-oct |
CSS | Tarjeta alternativa si cdb_empleado_use_new_card → true |
cdb-empleado.php:327-330 |
Seguridad e i18n
- Nonces:
cdb_empleado_nonce→inc/metacampos-empleado.php:31(verificación en:48)cdb_empleado_equipo_nonce→cdb-empleado.php:227(verificación en:262-263)
- Capacidades:
edit_postal guardar metaboxes - Textdomain:
cdb-empleado
Compatibilidad y buenas prácticas
- Encola assets solo donde se usan.
- Usa
${prefix}($wpdb->prefix) al consultar tablas personalizadas. - Evita cache en la página singular de empleado con
nocache_headers.
Solución de problemas
- No se muestran equipos: comprueba registros en
${prefix}cdb_experienciay existencia de CPTs requeridos. - No aparece la gráfica: verifica que cdb-grafica esté activo y que no se haya deshabilitado
cdb_empleado_inyectar_grafica.
Roadmap
- Endpoints REST específicos para consultas de experiencia.
- Soporte para tarjetas/insignias adicionales.
Licencia y créditos
- Licencia: GPL-2.0
- Autor: Proyecto CdB — https://proyectocdb.es
Changelog
1.0.2
- Se corrigió el paso de datos de equipos a JavaScript para que se envíen como un array nativo en lugar de una cadena JSON.
1.0.1
- Se añadió verificación de nonce y comprobación de capacidades al guardar la metabox "Equipo y Año" para mejorar la seguridad.
1.0.0
- Versión inicial.