Navigation überspringen

Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.

Problem:
Wenn sich der Kunde in einer anderen Sprache als Deutsch anmeldet und die E-Mail-Adresse bestätigt, wird er nicht auf die entsprechende Seite in der gewählten Sprache weitergeleitet, sondern immer auf die deutsche Seite.
Lösung:
Wir haben festgestellt, dass das Problem nicht bei WPML liegt, sondern an der Funktionsweise des Shortcodes {verify_email_adress} von Ultimate Membership Pro. Wir haben vorgeschlagen, eine Variable mit einem Filter zu verwenden, wie in der WPML-Dokumentation beschrieben: https://wpml.org/wpml-hook/wpml_current_language/.
Zudem haben wir eine mögliche Lösung vorgeschlagen, die der Kunde testen kann, indem er folgenden Code in der Datei \indeed-membership-pro\indeed-membership-pro\classes\ResetPassword.class.php nach Zeile 35 hinzufügt:

if (class_exists( 'sitepress' ) ) {
    $link = apply_filters('wpml_permalink', $link);
}

Wir haben den Kunden darauf hingewiesen, vor dem Testen ein Backup des Plugin-Ordners zu erstellen und haben ihm empfohlen, auch den Support von Ultimate Membership Pro zu kontaktieren. Wir haben auch darauf hingewiesen, dass das Plugin noch nicht auf unserer Kompatibilitätsliste steht und haben den Kunden eingeladen, das Plugin zu unserem Go-Global-Programm hinzuzufügen: https://wpml.org/documentation/theme-compatibility/go-global-program/.
Wir warten auf eine Rückmeldung von unserem Kompatibilitätsteam und werden den Kunden informieren, sobald wir mehr wissen.

Bitte beachten Sie, dass diese Lösung möglicherweise veraltet oder nicht auf Ihr Problem anwendbar ist. Wenn das Problem weiterhin besteht, empfehlen wir Ihnen, die bekannten Probleme auf https://wpml.org/known-issues/ zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und sicherzustellen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Sollte das Problem weiterhin bestehen, öffnen Sie bitte ein neues Support-Ticket im WPML-Support-Forum: https://wpml.org/de/forums/forum/hilfe/.

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 13 Antworten, hat 2 Stimmen.

Zuletzt aktualisiert von Andreas W. Vor 3 Jahre, 8 Monate.

Assistiert von: Andreas W..

Verfasser Beiträge
August 13, 2020 unter 12:20 pm #6794673

markusS-71

Hallo,

wenn ich mich im Portal anmelde erhalte ich eine Bestätigungsemail mit der Bitte diese zu bestätigen. Dieser Link wird von Ultimate Membership pro mit dem shortcode {verify_email_adress} vergeben.

Wenn ich mich jetzt z.B in französisch anmelde erhalte ich eine französische E-Mail mit der Bitte meine E-Mail Adresse zu bestätigen. Auch dort ist der Link und der shortcode {verify_email_adress} hinterlegt.

Nach der Verifizierung wird man auf eine Seite in WordPress weitergeleitet, die auch in allen Sprachen übersetzt ist.

Bei den Übersetzungen wird man jedoch nicht auf die jeweilige Sprache weitergeleitet sondern immer auf die Deutsche Seite obwohl diese in allen Sprachen vorhanden ist.

Irgendeine Idee?

Vielen Dank

Markus

August 14, 2020 unter 1:33 am #6799051

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo,

Dieses Problem scheint weniger mit WPML zu tun haben, sondern viel mehr mit dem {verify_email_adress} shortcode.

Ich vermute das Problem ist hier, dass Ultimate Membership Pro im Email Template nur die Weiterleitung zur Standard-URL der Website vorsieht.

Selbst, wenn man die Function des {verify_email_adress} Shortcode anpassen würde, so wäre es unmöglich zu wissen, welche Sprachen auf der Website momentan aktiv sind, womit dies einer benutzerdefinierten Lösung bedarf.

Ich würde hier empfehlen zu versuchen das Email Template mit einem benutzerdefinierten Link zu versehen, welcher den Kunden auf die korrekte Website weiterleitet und diesen dann mit String Translation zu übersetzen.

Konsultieren Sie hierzu bitte auch den Ultimate Membership Pro Support, für den Fall, dass dieser eventuell eine Lösung anbieten kann.

Ich kann anbieten, dass Sie das Plugin einmal auf der folgenden Test-Site installieren, damit wir einen Test durchführen:

Ein-Klick-Anmeldung:
versteckter Link

Kontaktieren Sie mich bitte kurz, sobald das Plugin installiert wurde.

Mit freundlichen Grüßen
Andreas

August 14, 2020 unter 7:01 am #6800969

markusS-71

Hallo,

ja einen anderen Link einzufügen ev. mit dem Anhang ?lang=fr z.B ist ja kein Problem, jedoch löst dieser shortcode ja einen Verifizierungsprozess aus was bei einem anderen Link ja nicht gegeben ist.

Das Plugin habe ich installiert!

Vielen Dank

Markus

August 14, 2020 unter 6:46 pm #6804997

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo Markus,

Ja, aber was ich hier genau verdeutlichen wollte, ist das das Problem hier nicht an WPML liegt, sondern an der Funktion die in Indeed Ultimate Membership PRO mit diesem Shortcode verwendet wird.

Die Funktion ist folgende:

protected function double_email_verification(){
		/*
		 * @param none
		 * @return none
		 */
		if (isset($this->shortcodes_attr['double_email']) && $this->shortcodes_attr['double_email']!==FALSE){
			$this->lite_register_metas['ihc_register_lite_double_email_verification'] = $this->shortcodes_attr['double_email'];
		}

		if ($this->is_public && $this->type=='create' && !empty($this->lite_register_metas['ihc_register_lite_double_email_verification']) ){
			$hash = ihc_random_str(10);
			//put the hash into user option
			update_user_meta($this->user_id, 'ihc_activation_code', $hash);
			//set ihc_verification_status @ -1
			update_user_meta($this->user_id, 'ihc_verification_status', -1);
			///$activation_url_w_hash = IHC_URL . 'user_activation.php?uid=' . $this->user_id . '&ihc_code=' . $hash;
			$activation_url_w_hash = site_url();
			$activation_url_w_hash = add_query_arg('ihc_action', 'user_activation', $activation_url_w_hash);
			$activation_url_w_hash = add_query_arg('uid', $this->user_id, $activation_url_w_hash);
			$activation_url_w_hash = add_query_arg('ihc_code', $hash, $activation_url_w_hash);
			//send a nice notification
			ihc_send_user_notifications($this->user_id, 'email_check', @$_POST['lid'], array('{verify_email_address_link}'=>$activation_url_w_hash));
		}
	}

Wir könnten hier eigentlich eine Variable mit einem Filter verwenden, so wie hier:

https://wpml.org/wpml-hook/wpml_current_language/

Ich bin mir allerdings nicht sicher, ob dies überhaupt funktionieren würde. Wie üblich und auch beim der "New Account" Benachrichtigung, führt der Link in der Bestätigungsmail zu einer neuen Anmeldeanforderung, und wenn diese Login-Seite übersetzt ist, werde ich hier auch korrekt weitergeleitet.

Ich hoffe das macht deutlich, dass die Änderungen hier vom Plugin Author vorgenommen werden müssen. Das Problem wurde nun intern weitergeleitet und ich warte auf eine Rückmeldung unseres Kompatibilitätsteams, welches möglicherweise einen Lösungsansatz bringen könnte, aber um dies Abschließend wirkend zu machen, wird es nötig sein, dass der Plugin Author diese Codeänderung auch in seinem Plugin einbaut.

Ich würde deshalb dazu raten auch den Plugin Support zu kontaktieren und Sie können diesen auch gerne zu unserem Go-Global Program einladen, da das Plugin noch nicht auf unsere Kompatilbitätsliste ist:

https://wpml.org/documentation/theme-compatibility/go-global-program/

WPML-PLugin-Kompatibilitätsliste:
https://wpml.org/documentation/plugins-compatibility/?wpv_view_count=119945&dev=0&wpv-plugin-functionality=0&wpv_post_search=Membership&wpv_filter_submit=Search

Ich werde mich mit Ihnen in Verbindung setzen, sobald ich weitere Rückmeldungen von unserem Team erhalten habe.

Mit freundlichen Grüßen
Andreas

August 17, 2020 unter 8:19 am #6813429

markusS-71

Hi Andreas,

klasse vielen Dank und melde dich!

Viele Grüße
Markus

August 18, 2020 unter 9:14 pm #6826109

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo Markus,

Ich habe leider keinen Zugriff auf die Sandbox, auf der wir das Problem nachgestellt haben, weil ich nicht an den Server komm und ein fataler Error angezeigt wird.

Unser Kompatibilitätsteam hat bestätigt, dass ich da fast richtig lag. Wir müssen die site_url übersetzen, allerdings in einer anderen Datei/Funktion:

Kannst Du mal bitte folgendes testen?

Unter:
wp-content/plugins/indeed-membership-pro/classes/UserAddEdit.class.php line 2852

Hinter dem folgenden Code auf Linie 2871:

$activation_url_w_hash = site_url();

Füge bitte folgendes hinzu:

if (class_exists( 'sitepress' ) ) {
					$activation_url_w_hash = apply_filters('wpml_permalink', $activation_url_w_hash);
				}

Lass mich bitte wissen, ob das Problem so gelöst werden kann und falls ja, bitte kontaktiere auch den Plugin Hersteller und erkläre das Problem. Dieser Code muss in seinem Plugin eingepflegt werden, damit es mit WPML kompatibel ist.

Ein Plugin Update würde diese Änderung sonst erneut überschreiben.

Mit freundlichen Grüßen
Andreas

August 19, 2020 unter 10:10 am #6829701

markusS-71

Hallo Andreas,

klasse vielen Dank! Das hat geklappt :o) Wenn der Kunde jetzt seine E-Mail bestätigt gelangt er direkt auf die Bestätigungsseite in seiner Sprache!

Wir haben noch eine Seite die nicht übersetzt wird und immer zur Standardsprache weiterleitet.

Wenn ein Kunde sein Passwort vergessen hat, bekommt dieser eine E-Mail mit der Bitte dies mit deinem shortcode versehenen als Link zu bestätigen ({password_reset_link}).

Kann hier auch etwas modifiziert werden?

Die Anfrage habe ich an ump weitergeleitet.

Viele Grüße

Markus

August 19, 2020 unter 11:34 pm #6834473

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo Markus,

Ich habe unser Kompatilbitätsteam informiert und warte auf Antwort. Ich vermute das wäre die gleiche Lösung, habe es aber noch nicht getetstet oder bestätigt bekommen.

Solltest Du das probieren, bitte leg zuvor eine Backup des Plugin Ordners an:

\indeed-membership-pro\indeed-membership-pro\classes\ResetPassword.class.php line 35

Hinter dem folgenden Code:

$link = site_url();

Füge bitte folgendes hinzu:

if (class_exists( 'sitepress' ) ) {
                   $link = apply_filters('wpml_permalink', $link);
                }

Ich werde mich melden, sobald ich morgen eine Rückmeldung habe. Informier mich bitte, ob das Problem auf diese Weise gelöst werden konnte.

Mit freundlichen Grüßen
Andreas

August 20, 2020 unter 7:24 am #6836309

markusS-71

Hallo Andreas,

auch das hat geklappt! 🙂 Vielen Dank.

August 21, 2020 unter 3:21 am #6842267

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo Markus,

Gern geschene. Es sollte auch funktionieren, wenn im Plugin Code site_url zu home_url geändert wird, oder eben mit unserer kleinen Umweg-Funktion, aber im Grunde muss dies vom Plugin-Authoren implementiert werden.

Die Änderungen würden sonst bei einem Update überschrieben.

Bitte kontaktieren Sie den Plugin-Author und erklären Sie das Problem. Wir hoffen auf sein Mitwirken in der Sache, wenn Sie als Kunde den Kontakt aufnehmen.

Wie bereits erwähnt, hatten wir bereits versucht Kontakt aufzunehmen, doch leider keine Rückmledung erhalten.

Mit freundlichen Grüßen
Andreas

August 21, 2020 unter 9:36 am #6844539

markusS-71

Hallo Andreas,

ja ich weiß aber besser diese Lösung und man ändert nach jedem Update diese Dateien wieder, als gar keine Lösung.

Ich hatte bereits UMP mehrfach angeboten zu kooperieren, jedoch ohne Erfolg siehe neueste Antwort:

Hi Markus Salfeld,

How custom fields are managed into multi-languages is not managed via UMP but by the script that provides multilingual capabilities.

WPML "invitation" should not be taken in consideration. Their workflow for a such is very unprofessional, providing a system where are public installed together over 15000 plugins. They are not able to provide a proper interface for each product to be tested.

Thanks,
Christian
WPIndeed Team

August 22, 2020 unter 8:06 am #6850131

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo Markus,

Das tut mir wirklich leid, dass Sie solch eine Antwort erhalten habe.

Ich denke unser Team ist alles andere als unprofessionell und gibt sich größte Mühe die Anliegen unserer Kunden zu bereinigen. Wir haben zu dem sehr großen Erfolg in der Kooperation mit zahlreichen Theme und Plugin Authoren.

Schade, dass Indeed das anders sieht.

Ich hoffe trotzdem Sie sind mit unserem Produkt und dem Support zufrieden und melden Sie bitte wieder, sollte es erneut Probleme geben sollte oder eine Frage aufkommen.

Ich wünsche ein angenehmes Wochenende.

Mit freundlichen Grüßen
Andreas

August 24, 2020 unter 6:08 am #6856657

markusS-71

Hallo Andreas,

dass kann ich nur bestätigen! Ihr macht gute Arbeit. Vielleicht hilft euch die Antwort bezüglich der Testumgebung.

Viele Grüße

Markus

August 25, 2020 unter 10:26 am #6867139

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo Markus,

Vielen Dank for das Lob, das freut uns zu hören!

Ich werde mich heute um die anderen beiden Tickets kümmern, die wir noch offen habe.

Soweit hierzu keine Frage offen bleibt, siehe dieses Ticket bitte als gelöst an.

Mit freundlichen Grüßen
Andreas

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.