Здравствуйте!
не пойму: the_excerpt() работает, а при вызове метода post_excerpt НИЧЕГО не выводится, вот код:
<?php
$posts_new = get_posts('category=11&numberposts=3');
foreach ($posts_new as $post_new) :
echo '<h2><a href="';
echo get_permalink($post_new->ID);
echo '">';
echo $post_new->post_title;
echo '</a></h2>';
//Закомментил, тк excerpt'у это не нужно...
//if ( preg_match('/<!--more(.*?)?-->/', $post_new->post_content, $matches) )
//list($post_new->post_content,$junk) = explode($matches[0], $post_new->post_content, 2);
echo $post_new->post_excerpt;
endforeach;
?>
или в get_posts нет post_excerpt ??…
Во-первых, это не метод, а свойство, соответствующее полю в таблице. И кому как не Вам знать, есть оно или нет, если Вы сами создавали пост?
Во-вторых, функция the_excerpt() выводит вышеозначенное поле, если оно есть. Если его нет, то функция генерирует анонс путем усекновения поста до заданного размера и удаления из него всяческих html-тегов.
да, извините, конечно же свойство (в заголовке так и было указано).
так ведь поле в таблице создается автоматически с постом (/wp-includes/post.php). все-таки попробую заменить get_posts на query_posts (вроде это его свойство).
Правда я так и не нашел где описывается the_excerpt() как функция и где ей задается кол-во символов для обрезки
P.S.: При использовании плагина Evermore – свойство post_content на этот "автомат" тега more внимания не обращает…
В редакторе поста есть отдельная textarea "цитата", вот из нее данные, ежели таковые ручками вбиты, и попадают в post_excerpt. Это ж не Друпал, который автоматически генерирует тизер при сохрании поста. 🙂
ааа! теперь все ясно! спасибо, я об этом не знал.