在创建新帖子期间插入新术语

时间:2012-09-24 作者:Remi

我目前正在编写一个动态插入新帖子的代码段(这是一种自定义帖子类型)。在创建新帖子的过程中,我需要在与自定义帖子类型关联的自定义分类中插入术语。

我收到了著名的“无效分类法”错误消息,我不知道如何解决这个问题。

下面是我使用的代码:

自定义帖子类型为:property自定义分类法为:type代码:

// Insert property into DB
$property = array(
    \'post_title\'   => $title,
    \'post_content\' => $description,
    \'post_status\'  => \'draft\',
    \'post_author\'  => 1,
    \'post_type\'    => \'property\'
);

// Insert the post into the database
$property_id = wp_insert_post( $property );         

// Taxo Property Type
if( $property_type ) {

    // check if term exists
    $property_type_term = term_exists( $property_type, \'type\' );

    if( $property_type_term !== 0 && $term !== null ) {
        // Term exists, get the term id
        $property_type_term_id = $property_type_term;
    } else {
        // Create new term
        $property_type_term_id = wp_insert_term(
                                    $property_type,     // the term 
                                    \'type\'          // the taxonomy
                                );
    }

    // Assign term id to post
    wp_set_post_terms( $property_id, array($property_type_term_id), \'type\' );

}
使用此代码,可以正确创建帖子,但术语不能正确创建。

任何帮助都将不胜感激!

1 个回复
SO网友:Sri

首先,您应该在自定义帖子类型中设置税收,您刚才只为帖子标题、帖子内容、帖子评论设置了税收,而没有为自定义税收设置

$post = array(\'tax_input\'      => [ array( <taxonomy> => <array | string> ) ] // For custom taxonomies. Default empty.
  \'page_template\'  => [ <string> ] // Requires name of template file, eg template.php. Default empty.
);
此查询将在创建自定义帖子时设置自定义税收check this link

结束

相关推荐

Get Post Inside Get Terms问题

我有一个正确加载的get\\u术语在它里面,我用过get\\u帖子。然后使用get posts,我正在尝试获取每个post标记(count<;=当前不在此脚本中)<?php $categories = get_terms( \'blogs_cat\', array( \'type\' => \'blogs\', \'orderby\' => \'n