wp_insert_post () или аналогичный для пользовательского типа сообщения

Необходимо вставлять объекты пользовательского типа post из кода. Не удалось добавить с использованием метода по умолчанию

$id = wp_insert_post(array('post_title'=>'random', 'post_type'=>'custom_post')); 

вместо этого создается обычная почта.

Solutions Collecting From Web of "wp_insert_post () или аналогичный для пользовательского типа сообщения"

Из Кодекса :

wp_insert_post () заполнит список по умолчанию, но пользователь должен указать заголовок и содержимое, иначе запись базы данных не удастся.

 $id = wp_insert_post(array('post_title'=>'random', 'post_type'=>'custom_post', 'post_content'=>'demo text')); 

Это можно сделать, используя следующий код:

Чтобы ввести новое сообщение для пользовательского типа

 $post_id = wp_insert_post(array ( 'post_type' => 'your_post_type', 'post_title' => $your_title, 'post_content' => $your_content, 'post_status' => 'publish', 'comment_status' => 'closed', // if you prefer 'ping_status' => 'closed', // if you prefer )); 

После вставки сообщения возвращаемая функция будет возвращена указанной выше функцией. Теперь, если вы хотите ввести какую-либо информацию о метаположении сообщений в этом сообщении, тогда можно использовать следующий фрагмент кода.

 if ($post_id) { // insert post meta add_post_meta($post_id, '_your_custom_1', $custom1); add_post_meta($post_id, '_your_custom_2', $custom2); add_post_meta($post_id, '_your_custom_3', $custom3); } 

Я нашел использование isset() разрешил мне использовать wp_insert_post() для пользовательских типов сообщений:

 if ( !isset( $id ) ) { $id = wp_insert_post( $new, true ); }