我有一个正在设置的自定义帖子类型,以便根据帖子的类型显示不同的自定义字段集。它是三个(集合、产品或变体)之一。
我已经在这方面做了所有的设置,但我认为,当设计模板以根据输入类型显示不同的数据时,如果将输入类型定义为分类法,那么可能会更容易实现。
因此,我想用与输入类型相关的相应分类法更新我的帖子。
我想到了这个,但它没有起作用。
为了澄清,我的分类法:
function set_tax_terms() {
global $wpdb;
$post_id = $wpdb->get_results (\'SELECT ID FROM wp_hyhg_posts WHERE post_type = uc-collections\' , object);
foreach ($post_id as $id) {
//get the input_type meta
$term= get_post_meta( $id, \'input_type\', true );
//get the term id that matches the input type
$term_id = term_exists( $term, \'input\' );
//set the post term based on above results
wp_set_post_terms( $id, $term_id, \'input\', true );
}
}
set_tax_terms();
有什么想法吗?
根据另一篇帖子,我也尝试了这种方法,但没有成功。(我把这段代码放在一个代码片段插件中,这样我就可以轻松地激活和停用它。)
function set_tax_terms() {
$args = array(\'post_type\' =>\'uc-collections\');
$post_id=get_post( $args );
if($post_id) {
foreach ($post_id as $id) {
//get the input_type meta
$term= get_post_meta( $id->ID, \'input_type\', true );
//get the term id that matches the input type
if(!empty($term)) {
$term_id = term_exists( $term, \'input\' );
//set the post term based on above results
wp_set_post_terms( $id->ID, $term_id, \'input\', true );
}
}
}
}
set_tax_terms();
由于某些原因,我无法将下面的代码设置为正常工作。所以我想弄清楚数据库中的事物是如何关联的。
在术语表中:我的term\\u id/所讨论项目的slug关系是:57/集合、58/产品、59/变体。
这是我在term\\u relationships表中所假设的,但事实似乎并非如此。
我看到了object\\u id和term\\u taxonomy\\u id,其中一个例子是3838/67,它对应于我为其定义了一个术语的帖子,以及term\\u taxonomy表。我看到有一个term\\u taxonomy\\u id,然后term\\u id为67/59,这将是我的变体选择。
我想我不知道为什么在这种情况下会有两个不同的数字。我不知道为什么这不管用。我想我要手动操作了。