始终使用_而不是 - 在Woocommerce产品属性的slug上

时间:2018-02-09 11:10:20

标签: php wordpress woocommerce slug custom-taxonomy

显然,Woocommerce似乎有一个坏习惯,即随着时间的推移改变它创造它的slu ..有时它会将所有单词放在一起,有时会使用_而有时 - 取决于Woocommerce版本。

这给我带来了一个巨大的问题,因为我的商店连接到外部仓库软件,连接实体店和woocommerce商店仓库。不幸的是,为了使连接正常工作,属性slugs必须始终使用_而不是 - 。

我想知道是否有一些自动方法可以做到这一点?也许我可以在functions.php或我可以编辑的一些Woocommerce文件上做一些tweek?如果可能的话,我怎么能这样做?

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

产品属性分类 slugs始于pa_ (作为 p roduct a ttribute)

很长一段时间,如果有空格(+其他一些字符),则用短划线-替换它们,并删除禁止的字符。它没有那么复杂。

对于与外部仓库的连接,请使用 str_replace() 之间的段落转换,这样:

// Here $taxonomy is the woocommerce product attribute slug
$right_slug = str_replace( array( 'pa_', '-' ), array( '', '_' ), $taxonomy );

它会:

  • 从开头(当它出现时)
  • 删除pa_
  • 将所有-替换为_

这可以解决你的问题。