Intereting Posts
Получить таксономии детей в цикле Будут ли простейшие имена функций в структуре классов конфликтовать с другими плагинами? Получение постоянной ссылки на последнее сообщение из категории Редактирование виджета и добавление на любую страницу Пытаясь запустить сайт, php-файл пуст. Миграция не удалась, DB сломан. Как исправить или хотя бы вывести статический HTML без плагинов? Как эхо биллировать номер телефона в разделе Моя учетная запись в Woocommerce? Как обрабатывать бесполезные атрибуты в коротких кодах? Скрыть пустую категорию в woocommerce Регенерировать миниатюры для изображений, которые не находятся в медиа-библиотеке Использование защиты паролем для загрузки разных элементов страницы? Как заставить внешнюю БД читать и получать данные из моей базы данных wordpress Как я могу загружать видео, создавать эскизы и конвертировать в разные форматы? Получить параметры запроса из внешнего URL и сделать перенаправление Найти sidebar.php в WP 3.9.2

Изменить длину выдержки первого поста

Я создал пользовательскую длину выдержки в моих functions.php, я хотел бы расширить эту функцию, чтобы увеличить длину выдержки первого сообщения в цикле.

Моя функция на данный момент:

/* Change Excerpt length */ function custom_excerpt_length( $length ) { return 30; } 

Думал о чем-то в этом направлении

 function new_excerpt_length($length) { global $post; if ($post-> FIRST POST?) return 50; else return 20; } 

Есть ли способ получить почтовый счет из $ post-> ?

Используйте свойство current_post объекта WP_Query :

 function new_excerpt_length($length) { global $wp_query; // assuming you are using the main query if ( 0 === $wp_query->current_post) return 50; else return 20; } 

Функция может нуждаться в дополнительных настройках, чтобы избежать непреднамеренного вмешательства в другие запросы, но это основная идея.

Другой подход:

 function custom_excerpt_length( $length ) { static $instance = 0; return ( in_the_loop() && 0 == $instance++ ) ? 50 : 20; } 

где мы используем простой подсчет внутри цикла.