Вывод укороченной новости

Если вы выводите на главной полную новость, то в архиве, календаре, тегах и категориях она будет выводиться также полностью. Есть возможность исправить этот момент без каких-либо трудных усилий.

Напишем небольшую функцию, которая будет укорачивать наши новости до определенного количества слов и выводить их в таком виде там, где нам удобно. Например, при поиске или в архиве.

Откроем файл functions.php, используемой темы и добавим ниже написанный кусок кода.

function my_excerpts($content = false) {
        // Если это архив или результат поиска
	if(is_archive() || is_search()) :
		global $post;
		$content = $post->post_excerpt;

	// Если короткая новость установлена
		if($content) :
			$content = apply_filters('the_excerpt', $content);

	// Если нужно укоротить
		else :
			$content = $post->post_content;
			$excerpt_length = 55;
			$words = explode(' ', $content, $excerpt_length + 1);
			if(count($words) > $excerpt_length) :
				array_pop($words);
				array_push($words, '...');
				$content = implode(' ', $words);
			endif;
			$content = '<p>' . $content . '</p>';

		endif;
	endif;

// Проверка, на всякий случай
	return $content;

}

add_filter('the_content', 'my_excerpts');

Я думаю тут все понятно :) Если кому надо что-то объяснить спрашивайте в комментариях.

Всем удачи!

Оставить комментарий

Поиск
Облако тегов
Счетчики