Привет!
Твоя проблема с добавлением таксономий через `tax_input` при использовании функции `wp_insert_post` в запланированных задачах может быть связана с различиями в правах пользователя, которые действуют при выполнении функций по расписанию и при активации по кнопке.
По умолчанию, функция `wp_insert_post` не устанавливает таксономии, если она выполняется от пользователя, у которого нет прав на редактирование этих таксономий. Когда ты выполняешь добавление поста по кнопке, скорее всего, ты залогинен как администратор или другой пользователь с достаточными правами. Однако, когда операция выполняется в фоновом режиме по расписанию, она может запускаться от имени пользователя, у которого нет необходимых прав.
Чтобы решить эту проблему, можно попробовать следующие шаги:
1. Использование хуков: Перед вызовом `wp_insert_post`, применяй хук `wp_set_current_user` для временной смены текущего пользователя на администратора:
php
wp_set_current_user(1); // 1 - это обычно ID администратора
$post_ID = wp_insert_post($post_data);
Это позволит выполнять добавление постов с таксономиями с правами администратора, независимо от контекста вызова функции.
2. Добавление таксономий после создания поста: Иногда более надёжным решением может быть отдельное добавление таксономий после создания поста с помощью функции `wp_set_object_terms`:
php
wp_set_object_terms($post_ID, $departmentsTags, 'department');
wp_set_object_terms($post_ID, $officesTags, 'location');
Этот метод также гарантирует, что таксономии будут добавлены независимо от прав текущего пользователя.
3. Проверка прав: Удостоверься, что задачи по расписанию запускаются с правами пользователя, который имеет возможность редактировать посты и таксономии.
Попробуй эти решения, и, надеюсь, одно из них поможет тебе решить проблему с добавлением таксономий в отложенных задачах. Удачи!