Skip to main content
Skip table of contents

Personalización del plugin

Para facilitar la personalización del plugin, diferentes filtros y acciones han sido creados. Le recomendamos insertar el código custom en el fichero functions.php de su child theme para estar seguro de que este código no sea borado cuando se actualiza el plugin.

Filtros relativos a la página del tipo de alojamiento

Filtros para el formulario de búsqueda

Filtros para la selección del tipo de alojamiento

  • hb_available_accommodation_markup

  • hb_first_available_accom_num

Filtros para la selección de los servicios adicionales

Filtros para el formulario de datos del cliente/reserva

Filtros relativos a la etapa del pago

Filtros relativos al resumen de reserva y a la zona del botón final "Reserva ahora"

  • hb_resa_summary_markup

  • hb_resa_summary_no_external_payment_markup

  • hb_resa_summary_external_payment_markup

  • hb_policies_area_markup

  • hb_confirm_area_markup

Filtros para la factura

Filtros relativos a las acciones asociadas a la reserva y al cliente

Filtros relativos a los shorcodes [hb_accommodation_list], [hb_rates], [hb_availability]

Filtros relativos a los roles añadidos por HBook

Filtros para los emails automáticos

Filtros para la sincronización iCal

  • hb_ical_agenda_check_in_time : para cambiar la hora de registro compartida cuando se utiliza el parámetro de consulta «agenda". Por defecto: 15pm.

  • hb_ical_agenda_check_out_time : para cambiar la hora de salida compartida cuando se utiliza el parámetro de consulta "agenda". Por defecto es 11am.

  • hb_ical_additional_info : para añadir información para filtrar al importar un evento de calendario iCal. La información filtrada se mostrará en la columna "Comentarios" de la reserva.

  • hb_ical_additional_non_standard_properties : para añadir información para filtrar cualquier campo de propiedad no estándar ("X-PROPERTY-NAME") al importar un evento del calendario iCal. La información filtrada se mostrará en la columna “Comentarios” de la reserva.

  • hb_ical_nb_years_history : para personalizar el número de años del pasado que se incluyen en la exportación al pasar el parámetro de consulta “future_only” a “no”. Por defecto son 2 años.

Varios

Fonciones Js

El plugin HBook también nombra las dos funciones JavaScript siguientes:


hb_accommodation_taxonomies

Este es un filtro que se aplica a las taxonomías, parámetro que está passado en la función register_post_type utilizada para crear las páginas de Tipo de Alojamiento.

Parámetro:

  • $taxonomies: (tabla) lista de las taxonomías.

Ejemplo:
Añadiendo categorias para las páginas del alojamiento.

CODE
function categories_for_accommodation( $taxonomies ) {
	$taxonomies[] = 'category';
	return $taxonomies;
}
add_filter( 'hb_accommodation_taxonomies', 'categories_for_accommodation' );

Por favor nota que por defecto las páginas que utilizan un "custom post type" no están incluidas en las páginas WordPress de tipo “Archive”. Para añadir estas páginas (si desea por ejemplo tener una página para una categoria), deberá añadir el código suguiente:

CODE
function hbook_add_custom_types( $query ) {
	if( (is_category() || is_tag()) && $query->is_archive() && empty( $query->query_vars['suppress_filters'] ) ) {
	$query->set( 'post_type', array(
	'post', 'hb_accommodation'
		));
	}
	return $query;
}
add_filter( 'pre_get_posts', 'hbook_add_custom_types' );

hb_accommodation_has_archive

Este filtro se aplica al ajuste has_archive que está pasado a la función register_post_type utilizada para crear las páginas de Tipo de Alojamiento.

Parámetro: ninguno

Ejemplo:
Para desactivar el archivo para las páginas del tipo de alojamiento:

CODE
function hb_disable_archive() {
	return false;
}
add_filter( 'hb_accommodation_has_archive', 'hb_disable_archive' );

hb_accommodation_supports

Este filtro se aplica al ajuste supports que ha passado a la función register_post_type utilizada para crear las páginas del tipo de alojamiento.

Parámetro:

  • $supports: (tabla) lista de elementos.

Ejemplo:
Añadiendo "excerpts" para las páginas del tipo de alojamiento.

CODE
function support_for_excerpts( $supports ) {
	$supports[] = 'excerpt';
	return $supports;
}
add_filter( 'hb_accommodation_supports', 'support_for_excerpts' );

hb_search_form_markup

Este filtro se aplica al balizaja HTML del formulario de búsqueda.

Parámetro:

  • $output: (cadena de caracteres) el código HTML del formulario.

  • $form_id: (cadena de caracteres) el ID del formulario de búsqueda tal como passado el shortcode [hb_booking_form] gracias al ajuste form_id.


hb_search_form_title

Este filtro se aplica al título del formulario de búsqueda.

Parámetro:

  • $title: (cadena de caracteres) el código HTML del formulario.

Ejemplo:

CODE
function change_title_tag( $title ) {
	return str_replace( 'h3', 'h2', $title );
}
add_filter( 'hb_search_form_title', 'change_title_tag' );

hb_extra_name

Este filtro se aplica a los nombres de cada servicio suplementario (los servicios suplementarios mostrados después del alojamiento).

Parámetros:

  • $display_name, $option, $price

  • $display_name: (cadena de caracteres) nombre del suplemento tal como será mostrado

  • $extra: (tabla) dato del suplemento

  • $price: (tabla) precio del suplemento


hb_extras_form_markup

Este filtro se aplica al balizaje HTML del formulario que muestra los servicios suplementarios.

Parámetro:

  • $output: (cadena de caracteres) el código HTML del formulario.


hb_resa_extra_formatting

Este filtro se aplica a los nombres de cada servicio suplementario elegido (en los emails enviados por HBook).

Parámetros:

  • $formatted_extra_name: (cadena de caracteres) el nombre formatado del servicio suplementario

  • $extra_name: (cadena de caracteres) el nombre del servicio suplementario

  • $extra_value: (cadena de caracteres) el valor de la opción elegida

  • $option_choice_name: (cadena de caracteres) el nombre de la opción elegida


hb_details_form_markup

Este filtro se aplica al balizaje HTML del formulario de datos del cliente/reserva.

Parámetro:

  • $output: (cadena de caracteres) el código HTML del formulario.


hb_payment_types

Este filtro puede ser utilizado para modificar el orden de lo metodos de pago listados, cuando offrece al cliente elegir (pago al llegar, depósito, pago por totalidad)

Parámetro:

  • $types: (tabla) lista de los metódos de pago autorizados. El orden por defetco es: tabla('offline', 'store_credit_card', 'deposit', 'full').

Ejemplo:
Modificación del orden para que el pago offline (a la llegada por ejemplo) sea mostrado en último.

CODE
function custom_payment_type_order( $types ) {
	$types = array( 'deposit', 'full', 'store_credit_card', 'offline' );
	return $types;
}
add_filter( 'hb_payment_types', 'custom_payment_type_order' );

hb_active_payment_gateways

Este filtro se aplica a la lista de pasarelas de pago activadas.

Parámetro:

  • $gateways: (tabla) lista de tipos de pago activos.

Ejemplo:
Invertir el orden de las opciones de las pasarelas de pago, en el formulario de pago, cuando se habilitan varias.

CODE
function custom_payment_gateway_order( $gateways ) {
	$gateways = array_reverse( $gateways );
	return $gateways;
}
add_filter( 'hb_active_payment_gateways', 'custom_payment_gateway_order' );

hb_stripe_credit_cards_icons

Este filtro sirve a modificar los iconos de tarjeta de crédito que quiere mostrar el la opción de pago con Stripe.

Parámetro:

  • $icons: (tabla) lista de los iconos de tarjeta. Valor por defecto: array( 'mastercard', 'visa', 'americanexpress' ). Valores acceptadas : 'amazon', 'americanexpress', 'delta', ''diners', discover', 'ebay', ''jcb', maestro', 'mastercard', 'solo', 'visa', 'visaelectron', 'switch'

Ejemplo:
Mostar solamente los iconos de visa y mastercard.

CODE
function custom_stripe_payment_icons( $types ) {
	$icons = array( 'visa', 'mastercard' );
	return $icons;
}
add_filter( 'hb_stripe_credit_cards_icons', 'custom_stripe_payment_icons' );

hb_policies_area_markup

Este filtro se aplica a la parte del proceso de reserva en el cuál el cliente accepta los Terminos y condiciones, y/o la Politica de privacidad.

Parámetro:

  • $output: (cadena) el código HTML del formulario.

Ejemplo:
Añadir una casilla para la inscripción a una lista de difusión de MailChimp. Ese necesita el uso del plugines MC4WP y también una personalización. Por favor, consulta este artículo de nuestra base de conocimientos.

CODE
function add_mailchimp_to_details_form( $output ) {
    $output .= '<h3 class="hb-title hb-title-terms">Our newsletter</h3>';
    $output .= '<p>';
    $output .= '<label>';
    $output .= '<input type="checkbox" name="mc4wp-subscribe" value="1" />';
    $output .= 'Yes! Subscribe me to the your monthly newsletter.</label>';
    $output .= '</p>';
    return $output;
}

add_filter( 'hb_policies_area_markup', 'add_mailchimp_to_details_form' );

hb_invoice_table_style

Este filtro se aplica a los estilos de la factura. Se puede encontrar estos estilos en wp-content/plugins/hbook/utils/utils.php. Búsqua la función nombrada "get_invoice_table".

Parámetros:

  • $style: (cadena de caracteres) todos los estilos CSS están aplicados.

  • $resa: (tabla) los datos de la reserva


hb_create_reservation

Esta acción está executada cuando una nueva reserva está añadida a la tabla de reserva de la base de datos.

Parámetro:

  • $resa_info: (tabla) todos los datos de la nueva reserva.


hb_create_customer

Esta acción está executada cuando un nuevo cliente está añadido a la tabla de reserva de la base de datos.

Parámetro:

  • $customer_info: (tabla) todos los datos del nuevo cliente.


hb_reservations_updated

Esta acción está executada cuando la tabla de la reserva de la base de datos está actualizada.

Parámetro: ningún


hb_blocked_accom_updated

Esta acción está executada cuando la tabla que contiene los alojamientos bloqueados está actualizada.

Ajuste: ningún


hb_accommodation_list_markup

Este filtro puede ser utilizado para modificar como se muestra la lista de tipos de alojamientos.

Parámetro:

  • $output: (cadena) contiene el output del marcador HTML de la lista de alojamientos.

Ejemplo:
Para que el enlace de la viñeta del tipo de alojamiento se abra en la misma pestaña

En el fichero functions.php de su child theme, añadir:

CODE
function change_target_self( $output ) {
	return str_replace( '_blank', '_self', $output );
}
add_filter( 'hb_accommodation_list_markup', 'change_target_self' );

hb_resa_manager_capabilities

Este filtro se aplica a la lista de las capacidades del usuario que tiene el papel "Gestion de las reservas".

Parámetro:

  • $capabilities: (tabla) una llave (cadena de caracteres) => valor (boolean). Esta tabla tiene una lista de capacidades (la llave es la capacidad y el valor es "true").

Ejemplo:
Si su tema rediriga automáticamente cualquier usuario con la capacidad "read" hacia el front-end, se puede añadir capacidades que son para el "Contributor" o "Author". Para consultar todas las capacidades y roles WordPress, se puede consultar https://codex.wordpress.org/Roles_and_Capabilities

CODE
function hb_add_capabiliites_to_manager( $capabilities ) {
	$added_capabilities = array( 'edit_posts', 'delete_pots' );
	$capabilities = array_merge( $added_capabilities, $capabilities );
	return $capabilities;
}
add_filter( 'hb_resa_manager_capabilities', 'hb_add_capabiliites_to_manager' );

hb_email_actions

Este filtro se aplica a todas las acciónes que puede ver en la columna "Acciones " del menú HBook > Emails.

Parámetro:

  • $actions: (tabla) contiene la diferentes acciones con: una llave (cadena de caracteres) => valor (cadena de caracteres). Las llaves a utilizar son 'action_value' y 'action_text'.

Ejemplo:

CODE
function add_action_to_email_actions( $actions ) {
	$actions[] = array(
		'action_value' => 'resa_marked_paid',
		'action_text' => esc_html__( 'Reservation marked as paid', 'hbook-admin' ),
	);
	return $actions;
}
add_filter( 'hb_email_actions', 'add_action_to_email_actions' );

Y después en la función public function hb_update_resa_paid() que encontrará en el directorio hbook/admin-pages/admin-ajax-actions.php, añadirá:

CODE
$this->utils->send_email( 'resa_marked_paid', $_POST['resa_id'] );

Así está función se convertirá en:

CODE
public function hb_update_resa_paid() {
	if ( $this->hb_verify_nonce() && $this->hb_user_can_manage_resa() ) {
		if ( $this->hbdb->update_resa_paid( $_POST['resa_id'], $_POST['resa_price'], $_POST['resa_paid'] ) !== false ) {
			echo( 'paid updated' );
			$this->utils->send_email( 'resa_marked_paid', $_POST['resa_id'] );
		} else {
			echo( 'Database error.' );
		}
	}
	die;
}

hb_scheduled_min_hour

Los emails automáticos se envián, por defecto, entre las 7:00 y las 23:00 (Zona horaria ajustada en WordPress), al momento que se hace una visita a su web (admin o front-end).
Valor por defecto es 7 (7am). Requiere un número entre 0 y 23.

Parámetro: Ninguno.

Ejemplo:

CODE
function change_minimum_scheduled_hour() {
	return 9;
}
add_filter( 'hb_scheduled_min_hour', 'change_minimum_scheduled_hour' );

hb_scheduled_max_hour

Los emails automáticos se envián, por defecto, entre las 7:00 y las 23:00 (Zona horaria ajustada en WordPress), al momento que se hace una visita a su web (admin o front-end).
Valor por defecto es 23 (11pm). Requiere un número entre 0 y 23.

Parámetro: Ninguno.

Ejemplo:

CODE
function change_maximum_scheduled_hour() {
	return 20;
}
add_filter( 'hb_scheduled_max_hour', 'change_maximum_scheduled_hour' );

hb_ical_agenda_check_in_time

Si está utilizando el parámetro de consulta "agenda" para incluir horas en el formato de la información compartida para la propiedad iCal DTSTART y DTEND, puede que desee modificar la hora pasada a DTSTART (hora de entrada). Por defecto, se pasa "15" (3pm).

Parámetro: Ninguno.

Por defecto es 15 (3pm). Espere un número entre 0 y 23.

CODE
function change_agenda_check_in_time() {
	return 16;
}
add_filter( 'hb_ical_agenda_check_in_time', 'change_agenda_check_in_time' );

hb_ical_agenda_check_out_time

Si está utilizando el parámetro de consulta "agenda" para incluir horas en el formato de la información compartida para la propiedad iCal DTSTART y DTEND, puede que desee modificar la hora pasada a DTEND (hora de entrada). Por defecto, se pasa "11" (11am).

Parámetro: Ninguno.

Por defecto es 11 (11am). Espere un número entre 0 y 23.

CODE
function change_agenda_check_out_time() {
	return 10;
}
add_filter( 'hb_ical_agenda_check_out_time', 'change_agenda_check_out_time' );

hb_ical_additional_info

Parámetro:

  • $default_comment_data: (tabla) un array con los valores que HBook búscara en el campo DESCRIPTION del contenido iCal de un calendario externo. Si se encuentra la propiedad, HBook añadira el valor de ese campo en la columna “Comments” de la reserva.

Ejemplo con datos ficticios "Matriculación de vehículos" y "Solicitud especial".

CODE
function my_platforms_comment_data ( $default_comment_data ) {
    $additional_data = array(
      'Matriculación de vehículos',
      'Solicitud especial'
    );
    $updated_comment_data = array_merge( $default_comment_data, $additional_data );
    return $updated_comment_data;
}
add_filter( 'hb_ical_additional_info', 'my_platforms_comment_data' );

hb_ical_additional_non_standard_properties

Parámetro:

  • $other_ical_non_standard_properties: (tabla) un array con los valores que HBook búscara en el contenido iCal de un calendario externo. Si se encuentra la propiedad, HBook añadira el valor de ese campo en la columna “Comments” de la reserva.

Ejemplo con datos ficticios "X-EXTRAS" y "X-TOTAL-AMOUNT".

CODE
function my_platforms_non_standard_properties ( $other_ical_non_standard_properties ) {
    $additional_properties = array(
      'X-EXTRAS',
      'X-TOTAL-AMOUNT'
    );
    $updated_other_non_standard_properties = array_merge( $other_ical_non_standard_properties, $additional_properties );
    return $updated_other_non_standard_properties;
}
add_filter( 'hb_ical_additional_non_standard_properties', 'my_platforms_non_standard_properties' );

hb_ical_nb_years_history

Si está utilizando el parámetro de consulta “future_only” para incluir reservas pasadas/fechas bloqueadas en la exportación a iCal, puede que desee modificar el número de años incluidos en la exportación. Por defecto, HBook incluye 2 años de historial, cuando el parámetro “future_only” se pasa con "no" como valor (para anular el valor por defecto de incluir sólo reservas futuras y fechas bloqueadas).

CODE
function custom_ical_nb_years_history ( $default_delay ) {
    return '6';
}
add_filter( 'hb_ical_nb_years_history', 'custom_ical_nb_years_history' );

hb_language_list

Este filtro se aplica a la lista de los idiomas gestionados de HBook en el caso de una sitio web multilingüe.

Parámetro:

  • $langs: (tabla) una llave (cadena decarácteres) => valor (cadena de caracteres) tabla que contiene los datos de los diferentes idiomas (la llave es la local del idioma, el valor es el nomnre del idioma).

Ejemplo:
Si utiliza un plugin multi lengual que no sea Polylang o WPML y para el cual los idiomas no están detectados automáticamente por HBook :

CODE
function new_language_list( $langs ) {
	$added_languages = array(
			'fr_FR' => 'French',
			'it_IT' => 'Italian',
			'es_ES' => 'Spanish',
			'de_DE' => 'German'
	);
	$langs = array_merge( $added_languages, $langs );
	return $langs;
}
add_filter( 'hb_language_list', 'new_language_list' );

hb_uncompleted_resa_deletion_delay

  • Requiere un valor en retorno de tipo: (entero + "MINUTE" o "HOUR") el plazo antés que HBook elimina una reserva que no ha sido finalizada. Se muestra con el estatus “Procesando” (el cliente cerró la pantalla, abandonó el proceso de pago, etc.)

  • Por defecto, HBook elimina reservas abandonadas después de 1 hora

Ejemplo:
Eliminar las reservas que no han sido finalizadas después de 30 minutos.

CODE
function custom_uncompleted_resa_deletion_delay( $default_delay ) {
	return '30 MINUTE';
}
add_filter( 'hb_uncompleted_resa_deletion_delay', 'custom_uncompleted_resa_deletion_delay' );

hb_old_resa_logs_deletion_delay

  • Requiere un valor en retorno de tipo: (entero + "DAY" or "MONTH") el plazo de retención de los logs de los cambios de estatus de las reservas.

  • Esos logs están útiles para nosotros o desarrolladores para hacer un debug. Por defecto, se borran después de 14 dias.

Ejemplo:
Cambiar el plazo a 28 días antés de elminiar los logs.

CODE
function custom_resa_logs_deletion_delay( $default_delay ) {
	return '28 DAY';
}
add_filter( 'hb_old_resa_logs_deletion_delay', 'custom_resa_logs_deletion_delay' );

hb_retina_scale_factor

Parámetro:

  • $retina_scale_factor: (entero) el factor de escala aplicado a las imágenes por HBook (por defecto, la escala es de 1).

Ejemplo:
Mostrar las imágenes para los aparatos que soportan la retina x 3.

CODE
function custom_retina_scale_factor( $retina_scale_factor ) {
	return 3;
}
add_filter( 'hb_retina_scale_factor', 'custom_retina_scale_factor' );

hb_image_sizes

Parameter:

  • Parámetro:

    • $sizes: (tabla) una llave(cadena de caracteres) => valor (cadena de caracteres) tabla que contiene las diferentes tamaños, cada tamaño teniendo las llaves "width" et "height". Esto puede ser útil si ha elegido en HBook > Misc > Misc que quiere utilizar un redimensionamiento de las imágenes "Estáticas". Cuando elige "Estáticas", HBook no utiliza AquaResizer.


JavaScript functions

hbook_show_accom_list

El plugin HBook intenta llamar está función cada vez que la lista de los tipos de alojamiento se muestra.

Ejemplo:
Activar una función JavaScript después que la lista de los tipos de alojamiento disponible ha sido mostrada.

Añade en el fichero functions.php de su child theme:

CODE
add_action( 'wp_enqueue_scripts', 'enqueue_my_js_scripts' );

function enqueue_my_js_scripts() {
	wp_enqueue_script( 'my-script', get_stylesheet_directory_uri() . '/my-script.js', array(), null, true );
}

y en el directorio del child theme, crea un fichero my-script.js file que tendrá:

CODE
function hbook_show_accom_list() {
	my_js_function();
}

hbook_reservation_done

HBook intenta llamar está función cada vez que una reserva está comptada con succeso por el cliente.

Ejemplo:
Activa una función JavaScript después que una reserva ha sido recibida. Esto puede ser utilizado por ejemplo si tiene un código de conversión de Google Analytics, un snippet de Adwords...

Añade en el fichero functions.php de su child theme:

CODE
add_action( 'wp_enqueue_scripts', 'enqueue_my_js_scripts' );

function enqueue_my_js_scripts() {
	wp_enqueue_script( 'my-script', get_stylesheet_directory_uri() . '/my-script.js', array(), null, true );
}

y en el directorio del child theme, crea un fichero my-script.js file que tendrá:

CODE
function hbook_reservation_done() {
	my_js_function();
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.