Xili: Problem mit eigenem Widget

  • Servus Leute,

    bin aktuell dabei für einen Kunden eine Mulitlanguage-Seite aufzusetzen. Klappt auch alles super, bis auf ein eigens erstelltes Widget, welche er nicht übersetzen will. Bei den "hauseigenen" geht es wunderbar. Habe ich vielleicht irgendwas vergessen?

    Folgendes habe ich der functions.php hinzugefügt:

    PHP
    function mein_theme_widgets_init() {    register_sidebar( array(        'name'          => __( 'Header Widget', 'mein_theme' ),        'id'            => 'sidebar-custom-header',        'description'   => __( 'Custom widget area for the header of my mein_theme theme', 'mein_theme' ),        'before_widget' => '<aside id="%1$s" class="%2$s">',        'after_widget'  => '</aside>',        'before_title'  => '<h3 class="widget-title-mein_theme">',        'after_title'   => '</h3>',    ) );
    }
    add_action( 'widgets_init', 'mein_theme_widgets_init' );


    Das Widget wird im BE auch angezeigt und in der Standartsprache geht alles. Ich habe über xili die Widgets die ich benötige instanziieren lassen und habe jetzt für die Sprachen auch verschiedene Eingabemöglichkeiten. Im Footer geht´s nur mein eigenes wird bei Bearbeitung der Sprachen nicht angezeigt. Nur wenn ich die Hauptinstanz verwende, aber dann hätte ich ja nur eine Sprache :/

    Habe ich vielleicht was übersehen oder muss noch irgendwo nen Hook o.ä. setzen?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Die Text Domain "mein_theme" ist definiert?


    #OFFTOPIC

    Liebe Admins kann bitte jemand dieses PHP Code Snippet fixen damit man nicht immer den ganzen Code per Hand überarbeiten muss, wenn man jemandem helfen möchte. Alternativ nur das normale Code Snippet im Editor anbieten, dort bleibt die Formatierung nämlich erhalten.

    #ONTOPIC

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Jo, ist alles definiert. Wie gesagt, einsprachig geht es auch wunderbar. Ich habe unter Widgets:

    Header Widget -> Beschreibung
    Header Widget in German -> Beschreibung
    Header Widget in English -> Beschreibung

    (Nur Header Widget wird angezeigt, die Sprachen nimmt WP nicht an)

    Das Pendant dazu ist:

    Main Widget Area -> Beschreibung
    Main Widget Area in German -> Beschreibung
    Main Widget Area in English -> Beschreibung

    (Wenn ich hier German & English befülle, geht´s)

  • Das müsste ich mal sehen, aus der Beschreibung werde ich nicht schlau.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Nein. Ich verstehe den Workflow nicht. Ich übersetze das Plugin (Widget) benötige dafür aber keine eigene Widget Area bzw keinen zusätzlichen Sidebar. So wie Du es machst müsste der neue Sidebar auch eine eigene ID bekommen, sonst kollidiert er mit der Sidebar ID der anderen Sprache.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Den Vorschlag habe ich ja schon gemacht. Entweder keine zusätzlichen Sidebars oder jedem Sidebar eine eigene ID.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Habe ich die damit nicht schon vergeben? [COLOR=#DD0000][FONT=monospace]id' [/FONT][/COLOR][COLOR=#007700][FONT=monospace]=> [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]'sidebar-custom-header'[/FONT][/COLOR][COLOR=#007700][FONT=monospace],[/FONT][/COLOR]

  • Ja. Aber Du hast doch zwei davon. Einmal DE und einmal EN. Also müsste der eine z.B. 'sidebar-custom-header-de' und der andere 'sidebar-custom-header-en' heißen. Wie gesagt ich verstehe das Konzept bzw. den Workflow nicht. Warum hat man unterschiedliche Sidebars für unterschiedliche Sprachen? Wenn Du jetzt 10 Sprachen hättest, dann würdest Du 10 Sidebars bauen? Bei mir wäre es ein und der selbe Sidebar und die darin enthaltenen Widgets würden in der gewählten Sprache erscheinen. Oder sitze ich auf dem Schlauch? In dem Fall bitte ich um Aufklärung wozu die sprachspezifischen Sidebars dienen?

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Also, ich habs jetzt. Was gefehlt hat, war folgendes im Template um die Sprach zu definieren:


    if ( class_exists('xili_language') ) { // if temporary disabled

    $options = get_theme_xili_options();
    $curlang_suffix = ( the_curlang() == 'en_us' || the_curlang() == "" ) ? '' : '_'.the_curlang() ;
    } else {
    $curlang_suffix = '';
    }
    if ( $curlang_suffix != '' && !isset( $options['sidebar_'.'sidebar-1'] ) ) $curlang_suffix = '' ; //display default - no clone

    if ( is_active_sidebar( 'sidebar-3' . $curlang_suffix ) ) : ?>


    Trotzdem danke für Deine Hilfe! Vielleicht hilft die Anleitung ja auch noch anderen weiter :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!