Добавьте следующий код в файл functions.php для выдержки и содержимого.
<?php
// Custom Excerpt
function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}
// Content Limit
function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content)>=$limit) {
array_pop($content);
$content = implode(" ",$content).'...';
} else {
$content = implode(" ",$content);
}
$content = preg_replace('/\[.+\]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
return $content;
}
?>
Теперь вместо использования в вашем цикле the_content () или the_excerpt используйте excerpt ($ limit) или content ($ limit).
Если вы хотите ограничить свою выдержку 300 словами, код будет выглядеть следующим образом:
<?php echo excerpt(50); ?>
<?php echo content(300); ?>
У меня есть другой способ отобразить ограниченную выдержку за символ.Вот код файла functions.php.
function get_excerpt(){
$excerpt = get_the_content();
$excerpt = preg_replace(" (\[.*?\])",'',$excerpt);
$excerpt = strip_shortcodes($excerpt);
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, 100);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));
$excerpt = $excerpt.'... <a href="'.get_the_permalink().'">Read More</a>';
return $excerpt;
}
После этого вам нужно добавить место, где вы хотите отображать свой символ за символом.
<?php echo get_excerpt(); ?>
Источник: http://www.e2soft.com/blog/custom-excerpt-and-content-limit-wordpress/