Обновляю посты по расписанию. Через wp_insert_post, но не добавляются таксономии в tax_input, почему?

Проблема с отсутствием добавления таксономий через wpinsertpost может возникать из-за нескольких причин:

  1. Правильное использование taxinput: При использовании функции wpinsertpost для добавления таксономий через параметр taxinput необходимо правильно структурировать данные. Tax_input должен быть ассоциирован с таксономией (taxonomy) в качестве ключа и одним или несколькими значениями этой таксономии в качестве значений. Например:
$my_post = array(
    'post_title'    => 'Заголовок поста',
    'post_content'  => 'Содержание поста',
    'post_status'   => 'publish',
    'post_author'   => 1,
    'post_type'     => 'post',
    'tax_input'     => array(
        'category' => array(1, 2, 3) // пример
    )
);

$post_id = wp_insert_post($my_post);
  1. Существование таксономии и терминов: Убедитесь, что таксономия, которую вы пытаетесь добавить к посту, существует и включена для данного типа записи (post type). Также убедитесь, что термины, которые вы пытаетесь связать с таксономией, существуют.
  1. Права доступа пользователя: Убедитесь, что у пользователя, выполняющего wpinsertpost, есть достаточные права доступа для добавления таксономий. Например, если у пользователя нет прав на добавление определенной таксономии к посту, такие данные не будут сохранены.
  1. Версия WordPress, плагины и темы: Проверьте, что у вас установлена последняя версия WordPress, а также что сторонние плагины и темы не конфликтуют с процессом добавления таксономий через wpinsertpost.
  1. Отладочная информация: Для выявления конкретной причины проблемы используйте функцию errorlog() или vardump() для вывода отладочной информации, такой как входные данные taxinput перед вызовом wpinsert_post и результат выполнения функции.

Следуя этим рекомендациям, вы сможете успешно добавлять таксономии к постам через wpinsertpost. Если проблема остается нерешенной, рекомендуется обратиться к официальной документации WordPress или сообществу разработчиков для более конкретной помощи.