Language elements

The plugin defines some language elements that may need to be overwritten. These are used in the booking-form-single.html file in the form template.

Use is simply based on the principle of text exchange. The following IDs will be replaced:

  • [NAME] -> Your name:
  • [EMAIL] -> Your email:
  • [EMAIL_DESCRIPTION] -> We will send a confirmation link to this address.
  • [PHONE] -> Your phone:
  • [MESSAGE] -> Your message:
  • [GDPR] -> I accept the <a href=”%s” target=”_blank”>privacy policy</a>.
    Where %s is the link to the “Privacy Policy” page.
  • [BOOKING] -> I\’m booking

The plugin does not yet handle language-specific templates, so it may be necessary to overwrite texts individually. To do this, you need to place the following code in the (child) theme functions.php file:

function my_booking_translate_text( $translation, $text, $domain ) {

	if ( $domain === 'book-an-appointment' ) {
        
        // We only ask once
        if (!defined('BOOKING_LOCALE')) {
            define('BOOKING_LOCALE', get_locale());                
        }
        
        switch ($text){ 
            case 'Your name:':
                // Modify if required
                // $translation = 'Name:';
                break;
            case 'Your email:':
                break;
            case 'We will send a confirmation link to this address.':
                break;
            case 'Your phone:':
                break;
            case 'Your message:':
                break;
            case 'I\'m booking':
                break;
                
            case 'I accept the <a href="%s" target="_blank">privacy policy</a>.':
                if (BOOKING_LOCALE == 'en_GB') {
                    // %s = get_privacy_policy_url()
                    $translation = 'I have read <a href="%s" target="_blank">privacy notice</a>.';
                }
                break;
            
            default :
        }
    }

    return $translation;
}
add_filter( 'gettext', 'my_booking_translate_text', 10, 3 );

The code above is of course just a sample. It must be modified as required.

In the sample in the customize-samples folder, the booking.php file contains this function.