Проблема с отсутствием добавления таксономий через wp_insert_post может возникать из-за нескольких причин:
1. **Правильное использование tax_input**: При использовании функции wp_insert_post для добавления таксономий через параметр tax_input необходимо правильно структурировать данные. 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);
2. **Существование таксономии и терминов**: Убедитесь, что таксономия, которую вы пытаетесь добавить к посту, существует и включена для данного типа записи (post type). Также убедитесь, что термины, которые вы пытаетесь связать с таксономией, существуют.
3. **Права доступа пользователя**: Убедитесь, что у пользователя, выполняющего wp_insert_post, есть достаточные права доступа для добавления таксономий. Например, если у пользователя нет прав на добавление определенной таксономии к посту, такие данные не будут сохранены.
4. **Версия WordPress, плагины и темы**: Проверьте, что у вас установлена последняя версия WordPress, а также что сторонние плагины и темы не конфликтуют с процессом добавления таксономий через wp_insert_post.
5. **Отладочная информация**: Для выявления конкретной причины проблемы используйте функцию error_log() или var_dump() для вывода отладочной информации, такой как входные данные tax_input перед вызовом wp_insert_post и результат выполнения функции.
Следуя этим рекомендациям, вы сможете успешно добавлять таксономии к постам через wp_insert_post. Если проблема остается нерешенной, рекомендуется обратиться к официальной документации WordPress или сообществу разработчиков для более конкретной помощи.