Многие блоггеры используют в конце постов ссылки на предыдущий и следующий посты. Эти ссылки можно вывести с помощью функций next_post_link и previous_post_link. Эти функции позволяют вывести ссылки на предыдущий пост и следующий пост, а так же ссылки на предыдущий пост из этой же категории и следующий пост из этой же категории. Но иногда такие ссылки не всегда информативны – по названию не все всегда можно понять, о чем идет речь в постах, и неплохо бы их для пущей ясности дополнить кратким описанием (цитатой). Прямых функций, выводящих цитаты предыдущих и следующих постов я не нашел, зато обнаружил способ вывода цитаты из предыдущего/следующего постов с помощью специальных функций с параметрами.
Откройте файл functions.php и добавьте в него следующий код:
function tl_excerpt($text, $excerpt_length = 32) {
$text = str_replace(']]>', ']]>', $text);
$text = strip_tags($text);
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words) > $excerpt_length) {
array_pop($words);
array_push($words, '[...]');
$text = implode(' ', $words);
}
return apply_filters('the_excerpt', $text);
}
function tl_post_excerpt($post) {
$excerpt = ($post->post_excerpt == '') ? (tl_excerpt($post->post_content))
: (apply_filters('the_excerpt', $post->post_excerpt));
return $excerpt;
}
function previous_post_excerpt($in_same_cat = false, $excluded_categories = '') {
if ( is_attachment() )
$post = &get_post($GLOBALS['post']->post_parent);
else
$post = get_previous_post($in_same_cat, $excluded_categories);
if ( !$post )
return;
$post = &get_post($post->ID);
echo tl_post_excerpt($post);
}
function next_post_excerpt($in_same_cat = false, $excluded_categories = '') {
$post = get_next_post($in_same_cat, $excluded_categories);
if ( !$post )
return;
$post = &get_post($post->ID);
echo tl_post_excerpt($post);
} Для того, чтобы вывести цитату из следующего поста, вставьте в шаблон:
</pre> <p>Для того, чтобы вывести цитату из предыдущего поста, вставьте в шаблон:</p> <pre>
За количество слов, выводимых в цитате, отвечает $excerpt_length = 32, все остальное обрезается символами […] – вы можете изменить эти значения. В приведенном примере не учитывается, из каких постов каких категорий выводятся цитаты. Если вам нужно выводить цитаты из постов этой же категории, то поменяйте в приведенном коде $in_same_cat с false на true. Если вам нужно исключить некоторые из категорий, то можете перечислить их ID в $excluded_categories = ” (пример: $excluded_categories = ‘1,2,6,99’).









Не знаю почему, но
не работает. Сокращал до цифры 12 и ничего не меняется. Длина у меня получается произвольная. Где-то длиннее, где-то короче. http://maks-1.com