Det er ikke altid man ønsker at standard udtrykkene i et plugin skal være navgivet det navn de har fra fødslen. Der er flere løsninger til problemet, men ikke ret mange der er holdbare.

The Events Calendar er et lækkert plugin når man har en masse events man hurtigt vil have oprettet og fremstillet på en flot måde. Desværre løb jeg ind i at en klient ønskede at få ændret en label med værdien “Organizer” til at få værdien “Coordinator”.

Jeg kunne have valgt at redigere labels direkte i pluginnets kode, men så ville jeg enten være låst til den nuværende version af pluginnet fremover, eller også ville jeg skulle huske at opdatere mine egne rettelser hver gang. Alternativt kunne jeg også have brugt et oversættelsesprogram som WPML, som ville kunne oversætte den enkelte streng. Men at hente et oversættelses plugin ned, bare for at ændre et par labels, virker som noget af et overkill.

I stedet endte jeg med at hægte mig på The Events Calendar’s filtre, og overskrive disse. I den nedenstående kode ændrer jeg først organizer labellen til at være Coordinator. Dernæst obfuskerer jeg mailadressen og gør den klikbar.

// Edit Organizer Label Singular & Plural
add_filter('tribe_organizer_label_singular', 'tribe_organizer_label_singular_edit');
   function tribe_organizer_label_singular_edit() {
   return __( 'Coordinator', 'tribe-events-calendar' );
}
add_filter('tribe_organizer_label_plural', 'tribe_organizer_label_plural_edit');
   function tribe_organizer_label_plural_edit() {
   return __( 'Coordinators', 'tribe-events-calendar' );
}
// Make Organizer Label clickable
$mail = tribe_get_organizer_email();
add_filter('tribe_get_organizer_email', 'tribe_get_organizer_email_edit');
function tribe_get_organizer_email_edit($mail) {
   $output = mailto($mail);
   return $output;
}