Shortcodes
POM Events registra dos shortcodes, ambos disponibles también como elementos del maquetador de páginas.
[web_event_search_form]
Una lista de eventos filtrable con resultados AJAX.
| Atributo | Valores | Efecto |
|---|---|---|
hide_calendar |
yes |
Oculta la columna de filtros, incluido el selector de fecha |
error_msg |
Texto | El mensaje para un mes del calendario sin eventos |
el_class |
Nombre de clase | Una clase adicional en el contenedor |
Muestra un selector de fecha, un grupo de casillas Filter by type, un grupo de casillas Filter by category y un área de resultados con un control Load more events.
[pom_events_fullcalendar]
Un calendario mensual de todos los eventos publicados.
| Atributo | Efecto |
|---|---|
el_class |
Una clase adicional en el contenedor del calendario |
Cada entrada incluye el título del evento, su inicio y fin, un enlace al evento y sus slugs de categoría del evento como clases — la forma compatible de codificar el calendario por colores según la categoría.
Ampliar el formulario de búsqueda
La configuración de búsqueda se expone mediante un filtro, que es la forma compatible de cambiar la consulta, los campos o el comportamiento AJAX:
add_filter( 'web_event_search_form', function ( $args ) {
// Limit the list to one category.
$args['wp_query']['tax_query'] = array(
array(
'taxonomy' => 'event_category',
'field' => 'slug',
'terms' => array( 'concerts' ),
),
);
return $args;
} );
El array contiene:
| Clave | Contenido |
|---|---|
wp_query |
La consulta base: tipo de contenido, estado, tamaño de página, ordenación y la meta consulta de eventos próximos |
form |
El comportamiento del formulario, incluida la configuración AJAX |
fields |
Los campos renderizados, incluidos los filtros de taxonomía |
Añadir un campo de filtro
add_filter( 'web_event_search_form', function ( $args ) {
$args['fields'][] = array(
'label' => __( 'Filter by tag', 'my-plugin' ),
'type' => 'taxonomy',
'format' => 'checkbox',
'term_format' => 'slug',
'taxonomy' => 'post_tag',
);
return $args;
} );
Los campos de taxonomía se renderizan como grupos de casillas o botones de opción con una opción All, y los valores enviados se aplican a la consulta como una cláusula de taxonomía. Las taxonomías jerárquicas incluyen sus hijos.
Incluir eventos pasados
La consulta base filtra los eventos cuya fecha de fin es hoy o posterior. Para incluir eventos pasados en un listado específico, elimina esa cláusula:
add_filter( 'web_event_search_form', function ( $args ) {
unset( $args['wp_query']['meta_query'] );
$args['wp_query']['order'] = 'DESC';
return $args;
} );
Ten en cuenta que el filtro es global, así que limita ese cambio a la página o al contexto donde lo quieras.
Requisitos
Ambos shortcodes solo existen cuando el tema POM está activo. Con otro tema no se registran y no producen nada.
Protege cualquier código que los dé por supuestos:
if ( shortcode_exists( 'web_event_search_form' ) ) {
// Safe.
}
Lo que los shortcodes no aceptan
No hay atributos para la ordenación, el tamaño de página, la restricción a un término de taxonomía, la inclusión de eventos pasados ni el marcado del elemento de resultado. Eso es terreno del filtro, o de la plantilla.
La plantilla de resultados
Los elementos de la lista se renderizan mediante la plantilla de resultados del plugin. Para cambiar el marcado de un resultado, sobrescríbela o amplíala a través del tema en lugar de filtrar la cadena de salida — consulta Template integration.