Navigation überspringen

Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Heute stehen keine Supporter zur Arbeit im German-Forum zur Verfügung. Sie können gern Tickets erstellen, die wir bearbeiten werden, sobald wir online sind. Vielen Dank für Ihr Verständnis.

Schlagwörter: 

Dieses Thema enthält 4 Antworten, hat 2 Stimmen.

Zuletzt aktualisiert von Marcel Vor 11 Monate, 4 Wochen.

Assistiert von: Marcel.

Verfasser Beiträge
September 18, 2023 unter 8:46 pm #14415393

Guido

On the website versteckter Link i have author profile pages. The author informations are tranlateted by string translation. This works well, if the author hav posts like in thie example: versteckter Link
But if the author has no direct posts, no language switcher is shown:
versteckter Link but the translation exists: versteckter Link

I want a lnguage switcher on every profile page -> dosn't matter if the author has posts or not. I use the co-authors plugin -> so the Merle Davis is just co author and thats wy she has no posts.
versteckter Link

Regards Guido Handrick

September 19, 2023 unter 4:12 pm #14422443

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo Guido,

können Sie das Problem ebenso nachstellen, wenn das "Co-Authors Plugin" deaktiviert ist und der normale Autor Account keine Posts zugewiesen hat?

Bitte um Info

Freundliche Grüße
Marcel

September 20, 2023 unter 10:04 am #14428683

Guido

Hallo Marcel,
das Problem tritt auch auf, wenn das Plugin "Co-Authors Plugin" deaktiviert ist. Der Sprachumschalter erscheint nur, wenn dem User auch min. ein Beitrag zugeordnet ist. Ich bin selbst Programmierer und entwickle gerade das WP Theme für die Seite. Gibt es einen Hook/Filter, mit dem ich den Sprachumschalter auf den Profilseiten erzwingen kann?

September 20, 2023 unter 2:59 pm #14431553

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo,

danke für die Info. Ein Hook/Filter dafür wäre mir nicht bekannt, da es ein erwartetes Verhalten ist, wenn kein Post zur Abfrage angelegt ist. Ich teste dies jedoch gerade und melde mich, wenn ich eine Möglichkeit dazu finde.

Freundliche Grüße
Marcel

September 21, 2023 unter 9:29 am #14436555

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo,

es gäbe einen Filter "wpml_ls_language_url" definiert unter \sitepress-multilingual-cms\classes\language-switcher\class-wpml-ls-model-build.php:178 der verwendet werden kann, um die Links des Sprachumschalters zu filtern.

Die einzige Möglichkeit, die ich sehe, ist hier zu prüfen, ob es sich um eine Autorenseite handelt, um dann die URL dementsprechend zu ersetzen.

Sollten Sie hierfür weitere Hilfe benötigen, kann ich Ihnen unsere zertifizierten WPML Dienstleister dafür empfehlen: https://wpml.org/contractors/.

Freundliche Grüße
Marcel

September 21, 2023 unter 9:51 pm #14442559

Guido

Hallo Marcel, danke für den Tipp. Leider hat das nicht funktioniert. Dieser Filter wurde gar nicht angewendet. Nur bei den Autoren mit Beiträgen. Ich habe allerdings einen anderen gefunden. Hier meine funktionierende Lösung:

function HyJo_author_language_switch($w_active_languages ) {
if(is_author() && count($w_active_languages) == 1) {
$user_id = get_the_author_meta('ID');
$author_url = get_author_posts_url($user_id);
$languages = apply_filters( 'wpml_active_languages', NULL, array( 'skip_missing' => 0 ) );
foreach($languages as $language) {
// check if translation exists
$translated_description = apply_filters( 'wpml_translate_single_string', get_the_archive_description(), 'Authors', 'description_' . $user_id, $language['code']);
if($translated_description) {
$languages[$language['code']]['url'] = apply_filters( 'wpml_permalink', $author_url, $language['code']);
} else unset($languages[$language['code']]);
}
return $languages;
}
return $w_active_languages;
}

add_filter( 'icl_ls_languages', 'HyJo_author_language_switch' );

Danke für die Hilfe!

VG Guido

Dieses Ticket ist jetzt geschlossen. Wenn Sie ein WPML Kunde sind und Hilfe benötigen, eröffnen Sie bitte ein neues Support-Ticket.