Добрый вечер! Ваша задача довольно распространенная, и на самом деле ее можно решить с помощью небольшого добавления кода в файлы вашей темы. Основной идеей является использование фильтра, который будет позволять вам изменять мета-заголовки и мета-описания, добавляемые плагином Yoast SEO.
Для вывода произвольных полей в мета-тегах, вам нужно сделать следующее:
1. **Создайте функцию для получения произвольных полей.**
2. **Используйте фильтры Yoast SEO для изменения мета-заголовка и мета-описания.**
Вот пример кода, который вы можете добавить в файл `functions.php` вашей темы:
```php
function custom_meta_tags($title) {
if (is_singular('your_custom_post_type')) { // Замените на ваш произвольный тип записи
$custom_title = get_post_meta(get_the_ID(), 'your_custom_title_field', true); // Замените 'your_custom_title_field' на имя вашего произвольного поля
if (!empty($custom_title)) {
return $custom_title; // Возвращаем кастомный заголовок, если он существует
}
}
return $title; // Если кастомного заголовка нет, возвращаем оригинальный
}
function custom_meta_description($description) {
if (is_singular('your_custom_post_type')) { // Замените на ваш произвольный тип записи
$custom_description = get_post_meta(get_the_ID(), 'your_custom_description_field', true); // Замените 'your_custom_description_field' на имя вашего произвольного поля
if (!empty($custom_description)) {
return $custom_description; // Возвращаем кастомное описание, если оно существует
}
}
return $description; // Если кастомного описания нет, возвращаем оригинальное
}
// Подключаем функции к фильтрам Yoast SEO
add_filter('wpseo_title', 'custom_meta_tags');
add_filter('wpseo_metadesc', 'custom_meta_description');
```
### Шаги для добавления кода:
1. Замените `your_custom_post_type` на ваш фактический произвольный тип записи.
2. Замените `your_custom_title_field` и `your_custom_description_field` на имена ваших произвольных полей (мета-полей).
3. Сохраните изменения в файле `functions.php`.
### Примечание:
- Убедитесь, что перед внесением изменений в файл `functions.php` у вас есть резервная копия вашей темы или вы используете дочернюю тему.
- После добавления кода проверьте вашу страницу, чтобы убедиться, что мета-теги обновляются в зависимости от наличия/отсутствия произвольных полей.
Если у вас возникнут дополнительные вопросы или трудности, не стесняйтесь спрашивать!