UPDATE wp_terms as a
JOIN wp_term_taxonomy b ON a.term_id = b.term_id
SET a.name = 'new_name',
a.slug = 'new_slug'
WHERE b.taxonomy = 'product_cat'
AND a.name = 'old_name'
function rename_product_category( $old_name, $new_name ){
global $wpdb;
// Check that the new name doesn't exist
if( term_exists( $new_name, 'product_cat' ) )
return __("Your new product category term name already exist");
// Check that the old name exist
if( ! term_exists( $old_name, 'product_cat' ) )
return __("Your old product category term name doesn't exist");
$new_slug = sanitize_title( $new_name );
$result = $wpdb->query("
UPDATE {$wpdb->prefix}terms as a
JOIN {$wpdb->prefix}term_taxonomy b ON a.term_id = b.term_id
SET a.name = '$new_name',
a.slug = '$new_slug'
WHERE b.taxonomy = 'product_cat'
AND a.name = '$old_name'
");
if($result)
return sprintf(
__("The product category %s has been renamed to %s."),
'"<strong>' . $old_name . '</strong>"',
'"<strong>' . $new_name . '</strong>"'
);
else
return __("Something is wrong!.");
}
1条答案
按热度按时间gjmwrych1#
这个答案回答了您的问题标题,但不是所有其他问题(请参阅如何提问)。
可以使用以下sql查询(在之前进行数据库备份):
需要更换的地方:
new_name
按您的新产品类别名称new_slug
按您的新产品类别slug(小写和“-
“替换空格)old_name
按旧产品类别名称(要替换的名称)也可以对同一sql查询使用以下函数:
代码放在活动子主题(或活动主题)的function.php文件中。
用法(假设您将“clothing”产品类别重命名为“wear”):
它将显示产品类别是否已重命名。测试和工作。