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()