post_classхук-фильтрWP 2.7.0

Позволяет изменить список CSS классов для текущей записи.

Этот хук срабатывает в конце функции post_class().

Использование

add_filter( 'post_class', 'wp_kama_post_class_filter', 10, 3 );

/**
 * Function for `post_class` filter-hook.
 * 
 * @param string[] $classes An array of post class names.
 * @param string[] $class   An array of additional class names added to the post.
 * @param int      $post_id The post ID.
 *
 * @return string[]
 */
function wp_kama_post_class_filter( $classes, $class, $post_id ){

	// filter...
	return $classes;
}
$classes(строка[])
Массив CSS классов для текущей записи.
$class(строка[])
Массив дополнительных CSS классов, добавленных к записи.
$post_id(число)
ID записи.

Примеры

0

#1 Добавим CSS класс, если у записи нет миниатюры

При использовании функции post_class() в списке CSS классов присутствует класс has-post-thumbnail, если у текущей записи есть миниатюра, но если её нет - ничего не добавляет. Исправим это следующим кодом:

add_filter( 'post_class', 'add_class_without_post_thumbnail', 10, 3 );

function add_class_without_post_thumbnail( $classes, $class, $post_id ){

	if( ! has_post_thumbnail( $post_id ) ){
		$classes[] = 'no-post-thumbnail';
	}

	return $classes;
}

Список изменений

С версии 2.7.0 Введена.

Где вызывается хук

get_post_class()
post_class
wp-includes/post-template.php 581
$classes = apply_filters( 'post_class', $classes, $class, $post->ID );

Где используется хук в WordPress

Использование не найдено.