我们正在使用WP All Import将CSV中的产品数据导入WooCommerce。一切正常(伟大的插件!)但我们有一个问题:
我们的两个产品属性包含不允许的符号:
< 10 million views
> 10 million views
Wordpress会自动删除'&lt;'和'&gt;'符号表示第二个属性被视为重复,因此不会导入。
WP All Import的开发人员建议使用wp_insert_term_data挂钩在插入数据库时更改slugs。
这是一个好主意,因为我们可以维护这两个属性。例如:
< 10 million views becomes lt-10-million-views
> 10 million views becomes gt-10-million-views
我确信这很简单,但在挂钩到Wordpress时我还是个新手!最好的方法是什么?
提前感谢您的帮助!
答案 0 :(得分:0)
以下是您案例所需的功能:
add_filter( 'wp_insert_term_data', 'hook_term_332', 10, 3 );
function hook_term_332( $data, $taxonomy, $args ){
//this is for slug part
$data['slug']=sanitize_title($data['slug']);
//this is for visible name part
$data['name']=str_replace(array(">"), array("some_another_character"), $data['name']);
return $data;
}
函数“sanitize_title”将任何字符串格式化为可接受的slug。通常它用于清理帖子标题和为它们创建slug,但它也适合你的情况。