I am using this function to limit the content in my themes. But the problem is whenever I call the function, it also displays the image caption. I want to remove the image caption when calling the_content_limit function.
Here is the 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 " <a href='";
the_permalink();
echo "'>"."Read More →</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 " <a href='";
the_permalink();
echo "'>"."</a>";
echo "";
}
else {
echo "";
echo $content;
echo " <a href='";
the_permalink();
echo "'>"."Read More →</a>";
echo "";
}
}
Image captions in WordPress are actually shortcodes.
Shortcodes are applied by the filter:
For example, WordPress creates the following code in your content when you enter an image caption:
You need to still use apply_filters() in order to properly display content. (safe content display and all other shortcodes)
If you don’t want shortcodes (which is what it looks like, since you are doing a striptags) you should just use this:
But if it is specifically [caption] shortcodes, I assume this could work, if you just want to add a string-replace line to your code: