Intereting Posts
Где контейнер слияния-gmap? обмениваться wp-пользователями между двумя базами данных Как прикреплять изображения, которые я «вставляю с url» в сообщение? Назначение нескольких ролей, перекрытие возможностей Данные Metabox не сохраняются Добавьте «последний» и «первый» в Wordping Comment Pagination Links Категории раскрывающегося списка WP, отображать подкатегории, но не категории внуков? шлюз оплаты woocommerce Фильтровать результаты поиска по типу персонализированного сообщения 2 разных языка, 2 разных домена: не уверены, какой выбор сделать Неправильное правило перезаписи как получить настраиваемый элемент подменю admin (пользовательский тип сообщения), чтобы выделить, когда его активный Для производительности лучше создавать пользовательские функции в теме или плагине is_home и is_front_page условная проблема Меню с родителями, детьми и / или страницами братьев и сестер

Пользовательский показ страниц домашней страницы, тега и автора

Мне нужно иметь страницы, где первый пост на странице имеет специальный формат. Я выяснил, как изменить loop-home.php, чтобы получить результат, который я хочу получить на главной странице.

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

Если вы правильно выполнили первую часть в loop-home.php , вы можете просто переместить ее в соответствующий шаблон, используемый вашими страницами архива.

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

  • Используйте счетчик $current_post циклов $current_post для подсчета ваших сообщений. Этот счетчик начинается с 0

  • Настройте первое сообщение с помощью счетчика и примените свой стиль только к первому сообщению

Внутри вашего цикла, как и в loop-home.php выполните следующие действия.

 if ( $wp_query->current_post === 0 ) { // Do something to the first post } else { // Do something for all the other posts } 

Если вам нужно только настроить таргетинг на первый пост на первой странице, а не на последующих страницах, просто добавьте !is_paged() в свой условный оператор. is_paged() будет проверять, является ли текущая страница страничной страницей или нет

 if ( $wp_query->current_post === 0 && !is_paged() ) { // Do something to the first post } else { // Do something for all the other posts }