post_class() — выводит список CSS-классов для поста

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция post_class() выводит HTML-атрибут class="" с содержащимися в нем классами, которые WordPress присваивает для постов. В итоге для каждого поста получаем уникальный набор классов CSS. Если вам нужно не вывести классы, а записать в переменную, то обратите внимание на get_post_class().

Я уже рассматривал функцию body_class(), которую нужно было добавлять в тег <body>. Функцию же post_class() мы вставляем в тег <div>, в который заключен пост (или его анонс), примерно вот так <div <?php post_class() ?>>.

Полученные классы перед выводом в атрибуте также будут пропущены через очистку esc_attr().

post_class( $class = '', $post_id = null )

Параметры

$class
(строка|массив) класс или классы CSS, которые вы хотите добавить к общему списку выводимых классов.
$post_id
(целое число|WP_Post) ID или объект поста (по умолчанию — текущий из цикла).

Список присваиваемых классов

Специально для вашего удобства составил таблицу добавляемых классов.

Примеры использования post_class()

Простой пример использования функции в цикле

Для того, чтобы вывести ID поста, воспользуемся функцией the_ID().

<div id="post-<?php the_ID() ?>" <?php post_class() ?>>

Для записи с ID=5855 результат будет следующий:

<div id="post-5855" class="post-5855 post type-post status-publish format-standard hentry category-vse-podryad">

Окей, что можно сказать о нашем посту, глядя на этот HTML код?

Добавление собственных классов CSS

Предположим, что вы натягиваете вёрстку на WordPress и у нашего блока <div> уже есть атрибут class, при этом вы решили, что будете использовать функцию post_class(). Как всё это можно сочетать?

Например нам нужно так:

<div class="myclass1 myclass2"></div>

Тогда мы делаем так:

<div <?php post_class( array( 'myclass1', 'myclass2' ) ) ?>></div>
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии