我正在将Wordpress类别注入我的MySQL数据库中。当涉及到没有父类的类别时,这是很好的。但是当我添加一个子类别时,它不会显示在Wordpress类别列表中。
我相信这与Wordpress缓存查询或类别树的结果有关。我试图使用此函数强制Wordpress清理缓存:
clean_term_cache( $ids, $taxonomy, $clean_taxonomy );在此发现:cache
不幸的是,它仍然只显示在我编辑和保存一个可见类别之后的更改。
所以要明确的是:我在数据库中所做的事情是有效的。我把记录加到正确的桌子上。唯一的问题是Wordpress管理界面没有显示更改。直到我使用上述界面来编辑/保存一个在管理界面中可见的类别。
另外:我使用直接数据库注入,因为我使用的是WooCommerce + WPML。API不支持创建多语言类别。
发布于 2017-02-02 11:12:32
我遇到的问题是因为我试图递归地添加类别并翻译它们。我必须在数据库中添加一个类别,其中有一个翻译,然后再添加其他翻译。但是每当我运行函数来清除缓存时,WPML也会开始工作。这把整个翻译都搞砸了。
最后,我自己创建了一个类别,并在运行所有代码之后立即删除它。这似乎奏效了。
这伤害了我的程序员的心分享这一点,但这是我如何解决我的问题。下面是这样的:
$temp_term = wp_insert_term('Fake category', 'product_cat', ['description' => 'Temporary category', 'slug' => 'fake-cat-temp']);
wp_delete_term($temp_term['term_id'], 'product_cat');https://stackoverflow.com/questions/41246083
复制相似问题