Wordpress:使用wp_insert_post()在帖子中插入post-format

时间:2015-05-07 02:02:56

标签: wordpress insert

因为我可以使用wp_insert_post()使用帖子的格式(例如:post -format- quote)插入我的php帖子。

$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 个答案:

答案 0 :(得分:4)

为了完整性:不需要“解耦”或将其作为单独的操作,因为它可以与其余设置在同一个数组中设置。有一个option(即'tax_input')可以直接在包含post参数的数组中设置分类。

这是我用来达到同样效果的方法:

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

答案 1 :(得分:2)

您需要单独更新帖子格式,因为Post Format是一种分类法。请参阅以下示例以更新帖子格式。

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

插入Post后,返回Post ID。该ID用于更新帖子格式。在上面的示例中,将分配Image帖子格式。请根据您的要求进行更改。