Menü-Manager: HTML in der Menü-Item-Beschreibung?

  • Hallo,

    mein Theme unterstützt die Beschreibungen für die Menüpunkte, jedoch brauche ich innerhalb dieser Beschreibungen HTML, genauer gesagt, einen Zeilenumbruch

    Code
    <br />

    Den haut es nach dem Sichern jedoch wieder weg bzw. wird ignoriert.

    Ich hab irgendwo über Google gefunden, dass man diesen Code hier

    Code
    remove_filter('nav_menu_description', 'strip_tags');

    in die functions.php seines Themes einfügen soll - hab ich gemacht, hat jedoch keinen Erfolg:

    HTML (der Zeilenumbruch) innerhalb der Beschreibung wird nach wie vor ignoriert.

    Jemand eine Idee, wie ich das hinbekommen kann?
    Danke.

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

    • 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

  • geh mal mit dem inspektor rauf und schau wie die subtitel heissen im markup.
    wenn du das weißt => zb span class="subtitle" kannst du das einfach mit css via margin bottom oÄ stylen und brauchst kein br /

  • Danke, aber da steh ich grad voll auf dem Schlauch; die CSS zur Beschreibung ist laut Firebug:

    Ich weiß jetzt dennoch nicht, wie ich da individuelle Zeilenumbrüche hinbekommen soll, also einfach ein padding-right oder so bringt es dann nicht ...

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • Keiner eine Idee, wie man individuelle Zeilenumbrüche und/oder HTML in der Menübeschreibung vom Menümanager unterbringen kann?

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • kannst dir ja das mal durchlesen removing-strip-tags-not-working-on-nav-menu-description

    die Antwort ganz unten

    Zitat

    in a new wordpress version, the remove_filter isn't enough, cause the desc is stripped hardcoded from post_content ...

    this will do the trick:

    Code
    remove_filter('nav_menu_description', 'strip_tags');
    add_filter( 'wp_setup_nav_menu_item', 'cus_wp_setup_nav_menu_item' );
    function cus_wp_setup_nav_menu_item($menu_item) {
                    $menu_item->description = apply_filters( 'nav_menu_description',  $menu_item->post_content );
                    return $menu_item;
    }

    Einmal editiert, zuletzt von Tutrix (10. Juni 2012 um 21:26)

  • Danke, ich hab den Code jetzt in meine Theme's function eingebaut.
    Im Menü-Manager hab ich jetzt

    HTML
    aus der Kunstszene<br />kurz und prägnant

    aber dummerweise setzt es das HTML im Frontend nicht um, sondern stellt einfach nur die "HTML-Zeichen" dar:

    http://i50.tinypic.com/14vr3es.jpg

    Ich hab in deinem Link nicht ganz kapiert ... muss da noch etwas in die header.php?

    Danke.

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • Nun entweder die Codevariante die oben beschrieben wird oder der Teil aus der Antwort.
    So verstehe ich das zumindest.
    Aber keine Ahnung was davon funktioniert oder noch funktioniert oder auf Grund der zwischenzeitlich neueren WP Version, nicht mehr funktioniert. :smile:

    Vielleicht auch einfach mal ein Leerzeichen, vor und nach

    Code
    <br />
  • Ich hab jetzt nur den Part Code aus der untersten Antwort übernommen.
    Im Menü hab ich die Leerzeichen mal probiert

    HTML
    aus der Kunstszene <br /> kurz und prägnant

    das war's aber nicht.

    Er schreibt hier was von der header.php, in der er wohl stehen hätte:

    PHP
    <?php 
                wp_nav_menu( array(
                    'theme_location' => 'primary',
                    'depth' => 0,
                    'walker' => new description_walker())
                    );
                ?>

    Dieses "new description walker"-Dingsbums, von dem ich keine Ahnung habe, hab ich in meiner header.php aber auch schon von Haus aus drin:

    Meine header.php, wo das Menü beschrieben ist:


    Was braucht es denn, damit HTML auch ausgeführt wird; zumindest bin ich schon mal soweit, dass der HTML-Code zeichenmäßig in den Menübeschreibungen auftaucht, aber eben nicht ausgeführt wird:

    http://i50.tinypic.com/14vr3es.jpg

    Noch jemand eine Idee?

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • das


    hast du in die functions.php eingefügt?

  • Danke, dass du dir soviel Mühe machst, zum einen hab ich das noch nicht drinnen gehabt, aber jetzt eben eingefügt ... zeigt aber im Frontend keinerlei Veränderung zu eben. HTML-Code wird als reiner Text ausgegeben, aber nicht "ausgeführt".

    Ich bin leider nur der Try&Error-Wordpressler, Ahnung hab ich von Templatefiles gleich null :-(

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

  • hab das jetzt mal lokal getestet, mit dem Twentyeleven

    in der function.php muss dies alles stehen

    HTML funktioniert
    siehe Quelltext

  • Dürfte mit deinem Theme zusammen hängen, der große Teil für die functions.php ermöglicht erst die Beschreibung.
    da dein Theme dies ja scheinbar schon unterstützt, brauchst du das gar nicht. Wird auch nicht umgesetzt wie man an deinem Quelltextbild sehen kann.

    Du kannst zwar mal den Code in der header.php anpassen in

    PHP
    <?php $walker = new My_Walker; wp_nav_menu( array( 'menu' => 'Second', 'menu_class' => 'catnav', 'echo' => true,
        'fallback_cb' => '', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '',
        'depth' => 0, 'context' => 'frontend',  'walker' => $walker )); ?>

    dann müsste der Code übernommen werden, aber einfacher wäre den Filter an dein Theme anzupassen.

    Was für ein Theme verwendest du den, scheint ja von kriesi.at zu sein...
    oder einfach den Theme-Autor mal fragen

  • Danke für deine Mühe, ich hab jetzt mal dort im Theme-Forum gepostet, mal sehen ... wenn ich mehr weiß, werd ich mich hier wieder melden.

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"


  • Ich frag nochmal nach, ob jemand zu diesem Problem eine Lösung weiß?
    Im Themeforum ist anscheinend keiner mehr unterwegs :-(

    WP 6.5.4 Multisite · PHP 8.3 · Theme "ENFOLD"

Jetzt mitmachen!

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