Intereting Posts
Как подойти к показу продуктов без плагина корзины покупок или типа публикации? Создание «разделов» меню и палитры «в WordPress 3» используется как CMS Как узнать, включено ли событие в PHP? Пользовательский шаблон страницы с совершенно другим дизайном. Возможно ли это? Формат поля X-профиля Buddypress изменен Простой интернет-плагин? Использовать https для img src Как узнать, должен ли я вставлять JS-код или просто включать его в ONE-функцию PHP? WordPress – сайт с 2 стилями и многое другое … Непосредственные ссылки WordPress неверны. Он хочет, чтобы я изменил файл htaccess. Но затем сбои сайта Плагины для логотипа в wp-темах? Получить пользовательские таксономические условия по дате Автоматическое обновление WordPress Старая дата публикации и установка Поддержание отношения WP_Query между CPT, пользовательской таксономией, Permalinks-CPT UI Плагин Power Menus разрушает меню после добавления нового элемента

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

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

Наиболее распространенная причина заключается в том, что вы запускаете этот код без контекста пользователя (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()