Вот полный, отрефакторенный файл `functions.php` (в данном случае это плагин `ProFunctions`). Я сохранил всю вашу существующую логику (ACF, шорткоды, редиректы, стили), но **точечно переписал** модули, отвечающие за SEO и генерацию Schema.org, согласно вашим требованиям. ### 📝 Что было исправлено (Change Log): 1. **Schema.org (CreativeWork) — Критическое обновление:** * В функции `inject_literary_json_ld` полностью переписана логика получения переменной `$work_text`. * Внедрен `DOMDocument` парсер. Теперь скрипт ищет тег `
`. * **Логика:** Если `
` найден — в JSON-LD попадает только текст стихотворения (очищенный от HTML). Если нет — используется стандартный контент или excerpt. Это решает проблему попадания вступительных статей в разметку стихотворения. 2. **Meta Duplicates (og:image):** * В анонимной функции на хуке `wp_head` (приоритет 2) **удален** принудительный вывод ``. * *Причина:* Yoast SEO (который используется у вас в коде) сам выводит эти размеры на основе реальных метаданных изображения. Ваш код создавал дубликаты, которые часто не соответствовали реальности. 3. **HTML Attributes (prefix):** * Фильтр `language_attributes` теперь проверяет, существует ли уже атрибут `prefix`. * Если Yoast или WP уже добавили префикс, ваш код не будет ломать валидацию дублированием атрибута, а аккуратно дополнит его (или пропустит, если не требуется). --- ### Полный код файла (ProFunctions.php) ```php Стихи Юргиса Балтрушайтиса [225 стихотворений] читать творчество поэта - Страница 4 из 8 - Lit-Ra.su