显然,Woocommerce似乎有一个坏习惯,即随着时间的推移改变它创造它的slu ..有时它会将所有单词放在一起,有时会使用_而有时 - 取决于Woocommerce版本。
这给我带来了一个巨大的问题,因为我的商店连接到外部仓库软件,连接实体店和woocommerce商店仓库。不幸的是,为了使连接正常工作,属性slugs必须始终使用_而不是 - 。
我想知道是否有一些自动方法可以做到这一点?也许我可以在functions.php或我可以编辑的一些Woocommerce文件上做一些tweek?如果可能的话,我怎么能这样做?
非常感谢提前!
答案 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_
-
替换为_
。这可以解决你的问题。