通过自定义元键设置唯一的Term_id

时间:2014-03-18 作者:Foxsk8

我有一个函数,可以将自定义元键值设置为分类法,术语。

$category20 = $fields[\'field_52dd3aa1d6bc0\']; // gps
wp_delete_object_term_relationships( $post_id, \'gps\' );
wp_set_object_terms($post_id, $category20, \'gps\', true );
从GPS元键,值设置为Yes. 此外,在其他字段上,meta key值也是相同的,例如YesNo.

当我使用wp_set_object_terms 函数来存储一个术语,相同的值存储在相同的term-id 识别器。

我怎样才能解决这个问题?术语ID是从slug设置的?

更新时间:

此代码适用于:

wp_insert_term(
  \'\'.$category20.\'\', // the term 
  \'gps\', // the taxonomy
  array(
    \'description\'=> \'GPS use\',
    \'slug\' => \'gps-yes\'
  )
);
但不再需要删除:

wp_delete_object_term_relationships( $post_id, \'gps\' );
为分类术语使用元密钥的有效解决方案:

wp_delete_object_term_relationships( $post_id, \'gps\' );
if (!term_exists($category20, "gps")) {
    wp_insert_term(
      \'\'.$category20.\'\', // the term 
      \'gps\', // the taxonomy
      array(
        \'description\'=> \'GPS use\',
        \'slug\' => \'gps-yes\'
      )
    );
}
wp_set_object_terms($post_id, $category20, \'gps\', true );

1 个回复
SO网友:s_ha_dum

您传递给的最后(第四)个参数wp_set_object_terms()true, 其中,“如果为true,标记将附加到对象。如果为false,标记将替换现有标记”。听起来好像你在指导wp_set_object_terms() 如果我理解你的话,那就是你不想让它做的事。我认为您需要将最后一个参数设置为false 或者干脆把它放在一边false 是默认值。

结束

相关推荐

GET_TERMS函数不返回任何内容

这让我困惑了好几天,如果有任何帮助,我将不胜感激。我无法获取函数get_terms 归还任何东西。我在中尝试了以下代码index.php, single.php 和page.php, 在循环内部和外部,默认的二十个三十主题以及我的自定义主题,不返回任何类别术语。我已经创建了10个测试类别术语,并将它们应用于不同的测试帖子,但仍然一无所获。它在现场或当地开发现场不起作用。我还尝试通过转到永久链接设置页面并重新保存来刷新重写规则,只是想看看这是否有帮助。在网上研究和发现任何类似的问题都有相同的答案:添加hid