在WordPress自定义分类中创建术语

在WordPress自定义分类中创建术语,wordpress,Wordpress,我创建了一个自定义的帖子类型属性,在其中我创建了一个名为Position的自定义分类法,在其中我想创建一些术语,我使用下面的代码创建了术语滑块,效果很好 function realestatepro_custom_terms() { wp_insert_term( 'Slider', // the term 'Position', // the taxonomy array( 'description'=> '

我创建了一个自定义的帖子类型属性,在其中我创建了一个名为Position的自定义分类法,在其中我想创建一些术语,我使用下面的代码创建了术语滑块,效果很好

function realestatepro_custom_terms() {

    wp_insert_term(
      'Slider', // the term 
      'Position', // the taxonomy
          array(
            'description'=> 'Will be featured in the home page slider.',
            'slug' => 'home-page-slider'
          )
    );


}

add_action( 'init', 'realestatepro_custom_terms' );
<>但是我想创造更多的术语,比如特写和推广,但是我不确定我是怎么考虑的只是重复整个WPX插入词块,但是这似乎不正确,然后我试着在第一个词之后直接添加另一个词,但那不起作用。 有人知道添加多个术语的最佳方法吗?

wp\u insert\u term()是一个包含大量清理、操作和错误检查的大型函数。没有重复的版本。因此,您必须将
wp\u insert\u term()
包装到
foreach
循环中

function realestatepro_custom_terms() {

    $terms = array(
      'Slider' => array(
        'description'=> 'Will be featured in the home page slider.',
        'slug' => 'home-page-slider'
      ),
      'Featured' => array( /*properties*/ 
      ),
      'Promoted' => array( /*properties*/ 
      )
    );
    foreach($terms as $term => $meta){
        wp_insert_term(
          $term, // the term 
          'Position', // the taxonomy
          $meta
        );
    }
}
add_action( 'init', 'realestatepro_custom_terms' );
另一种可能性是您可以像这样使用
wp\u set\u object\u terms()

$terms = array( 'Featured', 'Promoted', 'Slider');
wp_set_object_terms( $object_id, $terms, 'Position' );
其中,
$object\u id
是您创建的一个虚拟属性。添加条款后,您可以删除帖子。这里的问题是,你不能像slug或description那样设置任何术语meta。此外,
wp\u set\u object\u terms()
函数只包含一个
foreach
循环,重复执行
wp\u insert\u term()
,类似于第一个解决方案。没什么太壮观的。我并不推荐第二个选项,只是出于兴趣而提一下。

wp\u insert\u term()
是一个包含大量清理、操作和错误检查的大型函数。没有重复的版本。因此,您必须将
wp\u insert\u term()
包装到
foreach
循环中

function realestatepro_custom_terms() {

    $terms = array(
      'Slider' => array(
        'description'=> 'Will be featured in the home page slider.',
        'slug' => 'home-page-slider'
      ),
      'Featured' => array( /*properties*/ 
      ),
      'Promoted' => array( /*properties*/ 
      )
    );
    foreach($terms as $term => $meta){
        wp_insert_term(
          $term, // the term 
          'Position', // the taxonomy
          $meta
        );
    }
}
add_action( 'init', 'realestatepro_custom_terms' );
另一种可能性是您可以像这样使用
wp\u set\u object\u terms()

$terms = array( 'Featured', 'Promoted', 'Slider');
wp_set_object_terms( $object_id, $terms, 'Position' );

其中,
$object\u id
是您创建的一个虚拟属性。添加条款后,您可以删除帖子。这里的问题是,你不能像slug或description那样设置任何术语meta。此外,
wp\u set\u object\u terms()
函数只包含一个
foreach
循环,重复执行
wp\u insert\u term()
,类似于第一个解决方案。没什么太壮观的。我不推荐第二种选择,只是出于兴趣提一下。

WordPress管理员中应该有一个界面,您可以将术语添加到分类法中。@JamesJones我想以编程方式这样做,这样在安装主题时术语就是它们的。WordPress管理员中应该有一个界面,您可以将术语添加到分类法中。@JamesJones我想这样做以编程方式,因此在安装主题时术语是它们的。