itemprop="url" , а я хочу разметить так же itemprop="name". Большое спасибо
/* микроразметка menu */
function nav($content) {
$pattern = "<a ";
$replacement = '<a itemprop="url" ';
$content = str_replace($pattern, $replacement, $content);
return $content;
}
add_filter('wp_nav_menu', 'nav');
Здравствуйте Евгений.
Вы решили пойти самым сложным путём, а именно внедрением микроразметки непосредственно в HTML. Если с элементами навигации будет достаточно просто справиться, то с другими форматами (article, FAQ, reviews...) вам придётся переписывать сам шаблон.
Обратите внимание, что есть более простой метод - это использовать JSON-LD, что очень просто:
1. Ручной метод:
function wplb_schema() {
$schema = [];
... // тут мы опишем все уловия для вывода разных форматов микроразметок на разных страницах и формируем $schema
$output = json_encode( $schema, JSON_UNESCAPED_SLASHES ); // Преобразуем полученный массив в json строку
?>
<script type="application/ld+json">
<?php echo $output; // выводим json строку ?>
</script>
<?php
}
// Хукаем шапку для вывода json-ld
add_action( 'wp_head', 'wplb_schema' );
2. Автоматизация:
В репозитории есть много плагинов для автоматического формирования микроразметки. На нашем сайте мы используем плагин Rank Math, который позволяет внедрять, абсолютно любую микроразметку и настраивать её.
Вот пример анализа одной из наших страниц сервисом от Google для проверки расширенных снипетов.
Спасибо.
Алексей, спасибо , а какие из плагинов в состоянии разметить именно меню?