Задать вопрос

Как программно изменить Yoast meta description для term?

Приветствую.
Как программно изменить значение meta-description плагина Yoast SEO для терминов таксономии?

Для постов делается просто - обновляем мета-поля "_yoast_wpseo_title" и "_yoast_wpseo_metadesc" c помощью функции update_post_meta($post_id, $meta_key, $meta_value).

Вопрос как это сделать для терм?

Там какой-то более "сложный" процесс, значения хранятся не в мета-полях, а в опциях, а еще есть отдельная таблица "wp_yoast_indexable", в которой мета инфа дублируется.
В "опциях" - имею ввиду следующее:

$meta['taxonomy_name'][$id]['wpseo_title'] = $my_new_title;
$meta['taxonomy_name'][$id]['wpseo_desc'] = $my_new_descr;

update_option( 'wpseo_taxonomy_meta', $meta );


Но такой вариант либо неправильный либо не полный.
Если просто обновить опцию, значение обновится в админке, но на сайте останется старым.
При этом если в админке просто нажать "Обновить запись" - все сработает и на сайте мета поля тоже обновятся.

Поделитесь если кто сталкивался с такой задачей, как массовое обновление yoast seo мета-информации для терм?
Программно своими силами или сторонними плагинами, буду благодарен за любую инфу, кто решал такую задачу.
Спасибо.
  • Вопрос задан
  • 521 просмотр
Подписаться 2 Простой Комментировать
Решения вопроса 1
@denismizherevich
Если вы хотите программно изменить Yoast meta description и title для term, вы можете использовать функцию WPSEO_Taxonomy_Meta::set_value()1. Эта функция принимает четыре параметра: ID term, название таксономии, ключ метаданных и значение метаданных. Например:
// Изменение Yoast meta description и title для term
WPSEO_Taxonomy_Meta::set_value($term_id, 'category', 'title', 'Новый заголовок');
WPSEO_Taxonomy_Meta::set_value($term_id, 'category', 'desc', 'Новое описание');

Это должно обновить метаданные Yoast SEO для term с указанным ID.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы