http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

WordPress: добавим чередование классов к записям

Опубликовано: 09.10.2017

Постановка задачи или предисловие

Представим ситуацию. Иногда, исходя из особенностей HMTL-верстки и соответственно дизайна темы оформления вам может понадобиться добавить произвольные CSS классы к записям в зависимости от их порядкового номера на странице. К примеру всем четным записям необходимо выставить 'two', а нечетным соответсвенно 'two'. Это учитывая одну отдельно взятую страницу.


Landing Page на WordPress с плагином Elementor PRO. Реалити-шоу по пошаговому созданию лендинга

Пример фрагмента кода

Для наглядности я использую одну из стандартных тем оформления, именуемую, как TwentyEleven.

<?php /** * Реализация функции. Самое интересное в трех крайних строчках после закрывающей фигурной скобки. **/ function twentyeleven_onetwo_post_class( $classes ) { global $current_class; $classes[] = $current_class; if ( $current_class == 'one' ) : $current_class = 'two'; else : $current_class = 'one'; endif; return $classes; } add_filter ( 'post_class' , 'twentyeleven_onetwo_post_class' ); // Ставим соответсвующий хук. global $current_class; // Объявление глобальной переменной необходимо для запоминания номера постового. $current_class = 'one'; // С какого класса начать "отсчет". ?>

А теперь примечание к применению. В силу того, что фильтр ставится на системную функцию post_class() в цикле показа постовых сайта должен присутсвовать её непосредственный вызов. к примеру, как у той же Twenty Eleven:

... <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> ... </article> ...

Куда добавить данную фишку? Как всегда в файлик под названием "functions.php".

Результат работы примера

Карта
rss