Проблема с отсутствием добавления таксономий через wpinsertpost может возникать из-за нескольких причин:
- Правильное использование 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);
- Существование таксономии и терминов: Убедитесь, что таксономия, которую вы пытаетесь добавить к посту, существует и включена для данного типа записи (post type). Также убедитесь, что термины, которые вы пытаетесь связать с таксономией, существуют.
- Права доступа пользователя: Убедитесь, что у пользователя, выполняющего wpinsertpost, есть достаточные права доступа для добавления таксономий. Например, если у пользователя нет прав на добавление определенной таксономии к посту, такие данные не будут сохранены.
- Версия WordPress, плагины и темы: Проверьте, что у вас установлена последняя версия WordPress, а также что сторонние плагины и темы не конфликтуют с процессом добавления таксономий через wpinsertpost.
- Отладочная информация: Для выявления конкретной причины проблемы используйте функцию errorlog() или vardump() для вывода отладочной информации, такой как входные данные taxinput перед вызовом wpinsert_post и результат выполнения функции.
Следуя этим рекомендациям, вы сможете успешно добавлять таксономии к постам через wpinsertpost. Если проблема остается нерешенной, рекомендуется обратиться к официальной документации WordPress или сообществу разработчиков для более конкретной помощи.