WPML
Status
Vom Autor gelöst
Gelöst in
2.30.3.
Zugehöriges Plugin/Theme
AffiliateWP
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie AffiliateWP mit dem AffiliateWP Portal Add-on und WPML verwenden, werden dem Affiliate Portal hinzugefügte benutzerdefinierte Menü-Links in beiden Sprachen angezeigt, aber ihre Beschriftungen sind nicht übersetzbar. Es gibt keine integrierte Option, um diese benutzerdefinierten Link-Beschriftungen zu übersetzen.

Problemumgehung

Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.


  • Öffnen Sie die Datei …/wp-content/plugins/affiliatewp-affiliate-portal/includes/core/class-menu-links.php.

  • Suchen Sie nach Zeile 102.

  • Ersetzen Sie:
    // filter only menu links with a page.
    $menu_links = array_filter(
    	$menu_links,
    	function( $menu_link) {
    		return ! empty( $menu_link['id'] );
    	}
    );
            


  • Durch:
    // filter only menu links with a page.
    $menu_links = array_filter(
    	$menu_links,
    	function( $menu_link) {
    		return ! empty( $menu_link['id'] );
    	}
    );
    // WPML Workaround for compsupp-8049 - Register menu links labels with WPML
    foreach ( $menu_links as $index => &$link ) {
    	if ( ! empty( $link['label'] ) ) {
    		do_action( 'wpml_register_single_string', 'affiliatewp-portal-menu', 'portal_menu_link_label_' . $index, $link['label'] );
    		$link['label'] = apply_filters( 'wpml_translate_single_string', $link['label'], 'affiliatewp-portal-menu', 'portal_menu_link_label_' . $index );
    	}
    }
            


  • Gehen Sie zu AffiliateWP > Einstellungen > Affiliate Portal und speichern Sie Ihre Einstellungen erneut.

  • Gehen Sie dann zu WPML > String-Übersetzung, um die benutzerdefinierten Menü-Link-Labels zu übersetzen.

Alle bekannten Probleme →