CMS WordPress «из коробки» поддерживает микроразметку hAtom
. Эта заметка для тех, кому она не нужна.
В большинстве тем внутри основного цикла WordPress используется функция post_class()
. Эта функция добавляет css классы к контейнеру, в котором выводится запись.
Класс hentry
— это отправная точка для микроразметки hAtom
. Парсер находит этот класс, и анализирует классы внутри него на предмет структурированных данных.
Вот такие ошибки выдает консоль Google Webmasters:
- Отсутствует: author;
- Отсутствует: entry-title;
- Отсутствует: updated.
Где-то не отображается автор, где-то дата. Отсюда и возникают ошибки микроразметки, так как отправная точка есть, а обязательные поля отсутствуют. Добавить все эти данные не составит большого труда, но сейчас не об этом.
Для того, чтобы избавиться от микроразметки hAtom
, необходимо удалить класс hentry из контейнера записи.
Если в вашей теме этот класс прописан вручную — тут все понятно. Вы удаляете его из верстки. Но в подавляющем большинстве случаев вы столкнетесь к функцией post_class()
.
Откроем functions.php
, добавить функцию в 4 строки и добавим ее к фильтру.
function hentry_class_remover( $classes ) {
$classes = array_diff( $classes, array( 'hentry' ) );
return $classes;
}
add_filter( 'post_class', 'hentry_class_remover' );
Мы удаляем из массива с классами ячейку, в которой записано значение hentry
и возвращаем массив уже без него.
Все довольно просто, без вмешательства в ядро и с сохранением всего функционала. Это идеальное решение.
P. S.:
Будте внимательны! Может случиться так, что в CSS файле описаны стили для класса hentry
. Тогда придется повесить слетевшее оформление на другой селектор.
1 комментарий
Xacatel
Вот спасибо! Это фишка WordPress, гугл выдает ошибки разметки а из за чего не знал. Пришлось в ручную прописывать автор, дату, заголовок. Теперь снесу это и сдалаю на schema.