Как добавить атрибут микроразметки в мета-тег, генерируемый Yoast SEO?
Yoast SEO выводит вот такой мета-тег
<meta name="description" content="Ремонт квартир в санкт-петербурге, ремонт квартир в спб, ремонт квартир под ключ в санкт-петербурге" />
Нужно добавить itemprop="description" в тег, чтобы получилось так:
<meta name="description" itemprop="description" content="Фото ремонта квартир в санкт-петербурге, фото ремонта спб, работы по ремонту квартир в спб" />
Пробовал добавить его, используя фильтр wpseo_metadesc, но он предоставляет доступ только к содержимому атрибута content, но не ко всему тегу.
Каким еще способом можно решить задачу? Спасибо.
Ответы (1 шт):
Автор решения: KAGG Design
→ Ссылка
В коде хуки для модификации этого тега не предусмотрены. Поэтому остаётся только открыть буфер до начала вывода заголовков Yoast, закрыть его после, модифицировать и вывести.
Ниже рабочий код:
/**
* Start output buffer before wpseo head.
*/
function my_pre_wpseo_head() {
ob_start();
}
add_action( 'wpseo_head', 'my_pre_wpseo_head', - PHP_INT_MAX );
/**
* Modify and output wpseo head.
*/
function my_post_wpseo_head() {
$head = ob_get_clean();
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo str_replace( '<meta name="description" ', '<meta name="description" itemprop="description" ', $head );
}
add_action( 'wpseo_head', 'my_post_wpseo_head', PHP_INT_MAX );