Вывод отфильтрованного текста в Wordpress
Автор: БезМозгоFF // Категория: wordpress, НовичкамВ Wordpress, как оказалось, нет штатных средств чтобы вывести из определенного поста только текст и только определенное количество символов с обрезкой до слова.
the_content() – выводит весь контент из поста, включая форматирование, картинки итд
the_excerpt() – выводит значение поля “цитата” – анонс поста, либо если анонса нет, то выводятся фиксированное число слов – первые 55 слов.
Кому для создания своих сайтов не хватает такой очевидной возможности, выкладываю простую функцию, которая выводит первые N символов отфильтрованного от тегов и картинок текста.
Функцию просто добавьте в functions.php своей темы и используйте в цикле при выводе постов.
function themefunction_content($max_char,$more_link_text='(more...)',
$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($content)>$max_char)
{$space = strpos($content," ",$max_char);
if (strlen($_GET['p']) > 0) {
echo "<p>";
echo $content;
echo " <a href='";
the_permalink();
echo "'>"."Read More →</a>";
echo "</p>";
} else if ((strlen($content)>$max_char) && $space) {
$content = substr($content,0,$space);
$content = $content;
echo "<p>";
echo $content;
echo "...";
echo " <a href='";
the_permalink();
echo "'>".$more_link_text."</a>";
echo "</p>";
} else {
echo "<p>";
echo $content;
echo " <a href='";
the_permalink();
echo "'>"."Read More →</a>";
echo "</p>";
}
} else {
$content = substr($content,0,strpos($content,"Популярность"));
echo "<p>";
echo $content;
echo "...";
echo " <a href='";
the_permalink();
echo "'>".$more_link_text."</a>";
echo "</p><br>";
}
}
Вот и все) Вызываем, например, так <?php themefunction_content(500,’далее’);?> где 500 – количество символов. Результат работы приводить не буду, думаю и так все понятно.

