27. Juli 2023

WordPress:
Übersetzungen in AJAX-Aufrufen

Übersetzungen für WordPress AJAX-Aufrufe werden nicht automatisch geladen, hierfür muss in der verknüpften PHP-Funktion zusätzlich die Text-Domain geladen werden:

function meine_ajax_funktion()
{
	// Locale ändern und Übersetzung laden
	$locale='en_US';
	switch_to_locale($locale);
	load_textdomain( 'meine_textdomain', get_template_directory().'/languages/'.$locale.'.mo');

	exit(__('Dieser Text sollte nun korrekt übersetzt werden', 'medianotions'));
}
add_action('wp_ajax_meine_ajax_funktion', 'meine_ajax_funktion');
add_action('wp_ajax_nopriv_meine_ajax_funktion', 'meine_ajax_funktion');