Wordpress verändert eigenes DIV-Attribut

  • Ich nutze Wordpress 5.0.3 mit Gutenberg.

    Hallo,

    ich muss aus technischen Gründen ein div um ein nicht typisches Html Attribut erweitern.
    Das Attribut hat keinen Wert.
    Wenn ich also im Wordpress Admin einen Html Block anlege, also so:
    <div class="hallo" specialAttribut></div>
    ... dann macht mir Wordpress daraus:
    <div class="hallo" specialAttribut=""></div>

    Wie kann ich das verhindern?

    • 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

  • Handelt es sich immer um den gleichen DIV und um das gleiche Attribut? Dann könntest Du Dir einen eigenen Shortcode basteln. Oder du nutzt den Filter the_content und veränderst so den Inhalt (Stichwort str_replace). Oder du setzt das Attribut mittels jQuery für diese Class.

    Wofür benötigst du das Attribut? Dann könnte man besser helfen.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Über das div werden per Javascript, Shopkomponenten geladen.
    Im Moment brauche ich das nur an einer Stelle, aber man weiß ja nie;)

    Das mit dem Filter klappt nur bedingt:

    Wenn ich das so schreibe, funktioniert das:

    Code
    function replace_content( $content ) {
       $content = str_replace('specialAttribut', 'specialAttributTEST', $content );
       return $content;
    }
    add_filter( 'the_content', 'replace_content', 9999 );

    Aber sobald ich z.B. das Gleichzeichen "=" weg haben will, macht die Funktion nix, auch nicht wenn ich den Backslash weg lasse:

    Code
    function replace_content( $content ) {
       $content = str_replace('specialAttribut\=', 'specialAttribut', $content );
       return $content;
    }
    add_filter( 'the_content', 'replace_content', 9999 );
  • Ich dachte eher daran, dass du im Content nach <div class="hallo"> suchst und mit <div class="hallo" specialAttribut> ersetzt.

    Code
    function replace_content( $content ) {
       $content = str_replace('<div class="hallo">', '<div class="hallo" specialAttribut>', $content );
       return $content;
    }
    add_filter( 'the_content', 'replace_content', 9999 );


    Ist ungetestet.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Oh shit, das hat die ganze Zeit schon funktioniert.
    Nur der Firefox Inspector hat mir diese ="" am Ende angezeigt, im Quelltext passt das....
    Also genau so wie du das geschrieben hast!!!!
    Vielen Dank für Deine Hilfe und Deine Zeit!!!

Jetzt mitmachen!

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