CSS класс на последнем посту в цикле (пользовательский запрос)

Я использовал этот вопрос, чтобы попытаться это сделать, но у меня есть некоторые трудности. У меня есть настраиваемый тип сообщений, мультимедиа, и я работаю над шаблоном archive-media.php. Я частично работаю над тем, что, когда я удаляю условие if из кода, он добавляет класс, но, конечно, к каждому сообщению. Я определил, что $wp_query->current_post не возвращает значение, поэтому я чувствую, что не должен использовать это право. У меня есть код в моем файле functions.php. Кодекс говорит, что current_post доступен в цикле, поэтому я немного смущен.

 add_filter('post_class', 'my_post_class'); function my_post_class($classes){ global $wp_query; if(($wp_query->current_post+1) == $wp_query->post_count) $classes[] = 'last'; return $classes; } 

Solutions Collecting From Web of "CSS класс на последнем посту в цикле (пользовательский запрос)"

Я понял, что $ wp_query не работает, где я настроил запросы с WP_query . Это совершенно очевидно, я полагаю, когда вы знаете, но я этого не делал, так что это скорректированный код, если он приносит пользу другим любителям! Обратите внимание, что $ media_query, $ events_query и т. Д. Являются экземплярами WP_query которые я создал на соответствующих страницах архива, когда я делал пользовательские запросы, поэтому вам нужно будет делать свои собственные версии, используя все, что вы использовали для запросов. Я говорю это на случай, если кто-то подумает, что они были определены wordpress и пытаются скопировать и вставить. (Конечно, $ wp_query, с другой стороны, есть.)

 // Add css class 'last' to last posts in archive query [ used in conjunction with post_class('archive-post') ] add_filter('post_class', 'last_post_class'); function last_post_class($classes) { // Regular Archives global $wp_query; if(($wp_query->current_post+1) == $wp_query->post_count) $classes[] = 'last'; // Media Archive global $media_query; if(($media_query->current_post+1) == $media_query->post_count) $classes[] = 'last'; // Events Archive global $events_query; if(($events_query->current_post+1) == $events_query->post_count) $classes[] = 'last'; // Author Archive global $author_query; if(($author_query->current_post+1) == $author_query->post_count) $classes[] = 'last'; return $classes; }