it-swarm.com.de

So beschränken Sie den Inhalt von Beiträgen und entfernen Bildunterschriften

Ich benutze diese Funktion, um den Inhalt meiner Themen einzuschränken. Das Problem ist jedoch, dass bei jedem Aufruf der Funktion auch die Bildunterschrift angezeigt wird. Ich möchte die Bildunterschrift entfernen, wenn ich die Funktion content_limit aufrufe.

Hier ist der Code:

function the_content_limit($max_char, $more_link_text = '', $stripteaser = 0, $more_file = '') {

    $content = get_the_content($more_link_text, $stripteaser, $more_file);

    $content = apply_filters('the_content', $content);

    $content = str_replace(']]>', ']]>', $content);

    $content = strip_tags($content);



   if (strlen($_GET['p']) > 0) {

      echo "";

      echo $content;

      echo "&nbsp;<a href='";

      the_permalink();

      echo "'>"."Read More &rarr;</a>";

      echo "";

   }

   else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) {

        $content = substr($content, 0, $espacio);

        $content = $content;

        echo "";

        echo $content;

        echo "...";

        echo "&nbsp;<a href='";

        the_permalink();

        echo "'>"."</a>";

        echo "";

   }

   else {

      echo "";

      echo $content;

      echo "&nbsp;<a href='";

      the_permalink();

      echo "'>"."Read More &rarr;</a>";

      echo "";

   }

}
1
pervez

Bildunterschriften in Wordpress sind eigentlich Shortcodes. Shortcodes werden vom Filter angewendet:

$ content = apply_filters ('the_content', $ content);

Beispielsweise erstellt Wordpress den folgenden Code in Ihrem Inhalt, wenn Sie eine Bildunterschrift eingeben:

 [caption id = "attachment_55" align = "alignleft" width = "127" caption = "Hier ist meine Beschriftung"] [/ caption] 

Sie müssen noch apply_filters () verwenden, um den Inhalt korrekt anzuzeigen . (sichere Inhaltsanzeige und alle anderen Shortcodes)

Wenn Sie keine Shortcodes möchten (wie es aussieht, da Sie einen Striptag machen), sollten Sie einfach Folgendes verwenden:

 $ content = strip_shortcodes ($ content); 

Wenn es sich jedoch speziell um [caption] Shortcodes handelt, könnte dies funktionieren, wenn Sie nur eine Zeichenfolge-Ersetzungszeile zu Ihrem Code hinzufügen möchten:

 $ content = get_the_content ($ more_link_text, $ stripteaser, $ more_file); 
 // [caption] Shortcode entfernen 
 $ content = preg_replace ("/\[caption. *\[\/caption \]/", '', $ content); 
 // Funktionscodes werden angewendet 
 $ content = apply_filters ('the_content', $ content); 
2
truemedia