【问题标题】:Change custom taxonomy in woocommerce programmatically以编程方式更改 woocommerce 中的自定义分类法
【发布时间】:2023-01-10 01:43:05
【问题描述】:

我想更改 woocommerce 中自定义分类法的值。

function get_pw_by_email($email) {

  $products = get_posts(array('post_type' =>'product', 'tax_query' =>array(array('taxonomy' =>'pa_e-mail', 'field' =>'name', 'terms' =>$email))));

  $terms = wp_get_post_terms($products[0] ->ID, 'pa_pw', true);
  
  if (empty($terms)) {
    return '';
  }

  return $terms[0]->name;
}

像这样我可以获得正确的分类值。但现在我想创建一个随机数并更新该值 - 而不会丢失该产品的所有其他分类法。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    如果您在每个产品的基础上执行此操作,而不是修改全局分类法,一个选项可能是获取您想要替换的术语(就像您现在所做的那样),使用 wp_remove_object_terms() 将其删除,然后使用 @ 987654322@ 附加新的修改后的术语。

    【讨论】:

    • 啊,是的,感谢您指出要先删除然后再添加。会尝试!
    【解决方案2】:

    现在我那样试了

    wp_remove_object_terms($products[0] ->ID, 'pa_pw', true);
    wp_set_post_terms($products[0] ->ID, $random_number, 'pa_pw', true);
    $terms = wp_get_post_terms($products[0] ->ID, 'pa_pw', true);
    

    这似乎工作一次,现在它停止工作了。

    更新:它每次都增加了越来越多的价值。它只返回第一个值——第一次运行后每次都相同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-23
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 2018-07-25
      相关资源
      最近更新 更多