Widget id´s ohne Bindestrich?

  • Hallo,

    ich habe gerade ein (kleines) Problem. Ich habe mir einen Bilder Slider mittels js geschrieben und da man ja mehrere Instanzen von widgets erstellen kann, sind die Widget-ids immer mit bindestriche getrennt. (zb: widgetname-2).

    Der Bindestrich ist aber nun ein Problem. Die Widget id ist auch gleichzeitig eine "div-id" die ich über javascript ansprechen möchte. Geht aber nun leider nicht, da bindestriche nicht erlaubt sind.

    Was kann man das nun lösen? Kann man ohne in den Wordpress funktionen rumzufuschen den bindestrich entfernen bzw ersetzen durch einen unterstrich?

    vlg

    • 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

  • evtl mit einer filterfunktion (in functions.php vom theme einsetzen, oder als plugin programmieren);

    zB:

    PHP
    function before_widget_id_correction( $params ) {
     $regex = '#(.*id=".*[a-z])(-)(\d{1,}")#e';
      
     $params[0]['before_widget'] = preg_replace($regex, '("$1_$3")', $params[0]['before_widget']); // Chenge the id in "before widget"
     return $params;
    }
    add_filter('dynamic_sidebar_params','before_widget_id_correction');

    nicht besonders getestet.

Jetzt mitmachen!

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