Support » Allgemeine Fragen » Shortcode im Titel

  • Guten Tag,

    ich habe mal eine Frage zu Shortcodes im Titel. Ich habe folgenden Code gefunden, den man in der Functions.php-Datei einfügen muss:

    add_filter('the_title', 'do_shortcode');

    Leider funktioniert das aber nicht auf der Seite direkt sondern nur wenn ich zum Beispiel auf der Startseite bin und dieser Beitrag dann verlinkt ist. Wenn ich draufklicke kommt dann:

    .st0{clip-path:url(#SVGID_00000067215309399368330960000012083099695602129326_);fill:#9C3273;} .st1{clip-path:url(#SVGID_00000067215309399368330960000012083099695602129326_);fill:#FFFFFF;}

    Der Fehler bestellt bei Seiten und Beiträgen.
    Wisst ihr vielleicht wie man das Problem beheben kann?
    Ich nutze die WordPress-Version 6.0

    Vielen Dank im Voraus! 🙂

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Hallo,
    angenommen, du möchtest bei Bildern in einem Beitrag ggfs. den Urhebervermerk zeigen lassen. Dann könnte man die folgende function z. B. in die functions.php des Child Themes schreiben:

    add_shortcode( 'bild_copyright', 'bild_shortcode' );
    function bild_shortcode () {
    $bild_unterschrift = '<p>' . get_post(get_post_thumbnail_id())->post_excerpt . '</p>';
    return $bild_unterschrift;
    }

    Der Shortcode wird dann wie folgt über den Shortcode-Block in den Beitrag geschrieben und würde in dem Beispiel den Urheber des Beitragsfotos zeigen, der in der Beschreibung beim Beitragsbild steht.
    Hier ein Screenshot dazu (bei Klick auf das Bild, wird das Bild vergrößert):

    Urheber

    Hier siehst du das Ergebnis beim entsprechenden Beitrag mit dem Urhebervermerk unter der Überschrift.

    In einem Beitrag von mir habe ich das Beispiel noch ausführlicher beschrieben.

    Um auf dein Problem genauer einzugehen, müsstest du noch die URL oben eintragen. Dann können wir uns das auch ansehen und dir sicher besser helfen. Lies bitte auch noch mal: Bevor du ein neues Thema (Thread) erstellst.

    Viele Grüße
    Hans-Gerd

    Der Sinn der Shortcodes ist, an einer beliebigen Stelle im Inhalt eines Beitrags oder eine Seite einen Textbaustein zu rendern. Es ist nicht vorgesehen, Shortcodes im Titel zu rendern, der ja auch für die Erstellung des Permalinks verwendet wird. Du kannst aber mit dem Hook the_title einen beliebigen Text voranstellen und/oder anhängen oder den Titel ganz ersetzen, sinngemäß sowas wie

    add_filter( 'the_title', 'mit_sternchen' );
    function mit_sternchen( $title ) {
     $new_title = '*** ' . $title . ' ***';
     return $new_title;
    }

    Mit do_shortcode( 'name_des_shortcode' ); wird in einem Template ein Shortcode an einer gewünschten Stelle ausgeführt. Statt aber erst den Namen aufzulösen ist es sinnvoller, direkt eine Funktion auszuführen. Im Grunde entspricht das dann dem Code-Beispiel oben.

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)