Desarrolladores

Este capítulo documenta la superficie pública y estable de POM Events: el modelo de contenido, las meta claves, la exposición REST, los shortcodes, los filtros y las acciones, y las convenciones que las integraciones deben seguir.

En este capítulo

Tema Artículo
Tipo de publicación, taxonomías y meta Modelo de contenido
Qué se expone a través de REST API REST y meta del evento
Añadir a la pantalla de ajustes Extensión de ajustes
Añadir campos al panel del evento Extensión del metabox del evento
Añadir columnas a la tabla de asistentes Columnas de la tabla de asistentes
Reaccionar ante un registro Hooks del ciclo de vida del registro
Reaccionar ante un cambio de estado Hooks de estado del asistente
La ruta de WooCommerce Hooks de integración de WooCommerce
Los shortcodes públicos Shortcodes
Personalizar las plantillas Integración de plantillas
Consultar eventos correctamente Recetas de consulta de eventos
Escribir código de integración seguro Escapado, saneamiento y capacidades
Con qué puedes contar Contrato de compatibilidad

Las tres suposiciones sobre las que construir

El tema controla el tiempo de ejecución. POM Events solo registra su tipo de contenido, sus plantillas y sus shortcodes cuando la plantilla del tema activo es pom. El código que asume que el tipo de publicación de evento existe debe comprobarlo, porque en otro tema no existe.

Las fechas existen dos veces. Las fechas y horas editables viven en la matriz de meta del evento; los valores ordenables Y-m-d se derivan y se almacenan por separado al guardar. Consulta sobre los valores derivados; lee las fechas y horas para mostrarlas.

Los asistentes son una matriz de meta. Los registros se almacenan en el evento como un mapa con clave por ID de usuario, no en una tabla personalizada. Por eso registrarse crea un usuario de WordPress.

Identificadores estables

Seguros para depender de ellos:

  • el tipo de publicación event;
  • las taxonomías event_type y event_category, además de la compartida post_tag;
  • el precio de admisión para las consultas: event_start_date y event_end_date;
  • las meta claves event_assistants y attending_users;
  • los shortcodes documentados;
  • los filtros y las acciones documentados.

No es estable

Los nombres de clase internos, el marcado del área de administración, los nombres de las acciones AJAX, las rutas de los activos generados y la forma interna del almacenamiento de los ajustes. Construye sobre lo que se documenta aquí.

Una nota sobre la dependencia del tema

Protege cada integración:

add_action( 'init', function () {
    if ( ! post_type_exists( 'event' ) ) {
        return;
    }

    // Safe to integrate.
}, 20 );

Esa única comprobación cubre tanto el control del tema como el orden de carga, y es el patrón que se usa en todo este capítulo.