在WordPress自定义分类中创建术语
我创建了一个自定义的帖子类型属性,在其中我创建了一个名为Position的自定义分类法,在其中我想创建一些术语,我使用下面的代码创建了术语滑块,效果很好在WordPress自定义分类中创建术语,wordpress,Wordpress,我创建了一个自定义的帖子类型属性,在其中我创建了一个名为Position的自定义分类法,在其中我想创建一些术语,我使用下面的代码创建了术语滑块,效果很好 function realestatepro_custom_terms() { wp_insert_term( 'Slider', // the term 'Position', // the taxonomy array( 'description'=> '
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我想这样做以编程方式,因此在安装主题时术语是它们的。