2015-05-07 3 views
1

, поскольку я могу вставить свой пост php, используя формат сообщения (пример: post -format-quote) с помощью wp_insert_post().Wordpress: вставьте post-format в сообщение, используя wp_insert_post()

$my_post = array(
    'post_type'  => 'post', // "post" para una entrada, "page" para páginas, "libro" para el custom post type libro... 
    'post_status' => 'publish', // "draft" para borrador, "future" para programarlo... 
    'post_title' => $_POST['BlogEntranceTitle'], 
    'post_content' => $_POST['BlogEntranceCode'], 
    'post_author' => $user_ID, // 
    'post_category' => $_POST['BlogEntranceCats'], 
    'tags_input' => $_POST['BlogEntranceTags'], 
    'post_excerpt' => $_POST['BlogEntranceExcerpt'] 
); 
wp_insert_post($my_post); 

достижения вставить эти варианты, но я не получаю формат Добавить запись

ответ

2

вам необходимо обновить формат пост отдельно, так как сообщение Формат представляет собой тип систематики. См. Следующий пример для обновления формата сообщения.

$my_post = array(
'post_type'  => 'post', // "post" para una entrada, "page" para páginas, "libro"  para el custom post type libro... 
    'post_status' => 'publish', // "draft" para borrador, "future" para programarlo... 
    'post_title' => $_POST['BlogEntranceTitle'], 
    'post_content' => $_POST['BlogEntranceCode'], 
    'post_author' => $user_ID, // 
    'post_category' => $_POST['BlogEntranceCats'], 
    'tags_input' => $_POST['BlogEntranceTags'], 
    'post_excerpt' => $_POST['BlogEntranceExcerpt'] 
); 
$new_post_id = wp_insert_post($my_post); 
$tag = 'post-format-image'; 
$taxonomy = 'post_format'; 
wp_set_post_terms($new_post_id, $tag, $taxonomy); 

После ввода сообщения возвращается идентификатор отправителя. Этот идентификатор используется для обновления формата сообщения. В приведенном выше примере будет назначен почтовый формат Image. Пожалуйста, измените его согласно вашему требованию.

+0

Спасибо вам @Nilambar, здорово !! теперь поместите переменную 'post_format_type', и она вставляет значение в таблицу wp. Спасибо за помощь! =) – Luigi

3

Для полноты: нет необходимости «развязывать» или использовать это как отдельную операцию, так как она может быть установлена ​​в том же массиве с остальными настройками. Существует option (а именно, «tax_input»), чтобы устанавливать таксономии непосредственно в массиве, содержащем параметры сообщения.

Это то, что я использую, чтобы достичь того же эффекта:

$my_post = array(
    'post_type'  => 'post'          , 
    'post_status' => 'publish'         , 
    'post_title' => $_POST['BlogEntranceTitle']    , 
    'post_content' => $_POST['BlogEntranceCode']     , 
    'post_author' => $user_ID         , 
    'post_category' => $_POST['BlogEntranceCats']     , 
    'tags_input' => $_POST['BlogEntranceTags']     , 
    'post_excerpt' => $_POST['BlogEntranceExcerpt']    , 
    'tax_input'  => array('post_format' => 'post-format-quote') // <- add this to set post_format 
); 

wp_insert_post($my_post); 
+0

'' tax_input '=> массив (' post_format '=>' gallery ') 'работал! Спасибо. – tinyCoder

Смежные вопросы