Intereting Posts
Редактор переднего конца, который активно развивается Правильный способ настройки дочерней темы Пользовательский тип иерархии столбцов в главной странице Как показать все сообщения автора по профилю buddypress с навигацией Получить идентификатор автора из URL-адреса Результаты запроса не отображаются, пожалуйста, помогите Почему Jetpack отсутствует пункт меню «Обратная связь»? используя wp_redirect для перенаправления на постоянную ссылку Как отобразить некоторые настройки для пользователя супер администратора только с помощью API настроек Количество сообщений по разным параметрам? Различные параметры почтового формата для каждого типа сообщений? Woocommerce Filter Main Loop by Tag Архив постоянных ссылок Пользовательские типы сообщений для поддержки плагина Ticket? Предоставление определенных категорий CPT не является общедоступным

tax_input не работает wp_insert_post

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

$customtax = array( 'product_link' => $link, 'product_price' => $price, 'product_description' => $desc ); $my_post = array( 'post_title' => $title, 'post_content' => $content, 'post_type' => 'products', 'tax_input' => $customtax ); 

заранее спасибо

Solutions Collecting From Web of "tax_input не работает wp_insert_post"

Наиболее распространенная причина заключается в том, что вы запускаете этот код без контекста пользователя (cron и т. Д.). В контексте wp_insert_post() WP проверит, имеет ли пользователь права на таксономию. Ни один пользователь не имеет никаких разрешений, равных без назначенных условий.

Обходной путь состоит в том, чтобы создать пост сначала, а затем назначить ему условия. Когда термины назначаются явно через метод API (например, wp_set_object_terms() ), проверка разрешений не выполняется.

При использовании tax_input для вставки почты обязательно используйте идентификатор таксономии термина, поскольку пули или имена, похоже, выбрасываются

 $my_post = array( 'post_title' => $title, 'post_content' => $content, 'post_type' => 'products', 'tax_input' => array('myTax', array(4,458,11478)), ); 

Оказывается, что tax_input не работает, если у пользователя нет возможностей работать с пользовательской таксономией:

wp-includes / post.php (wp_insert_post): введите описание изображения здесь

Поэтому либо добавьте правильные кепки, либо используйте wp_set_object_terms()