这不是完整的答案,但我认为如果您能够制作模板,它将对您有很大帮助-您将能够做到这一点:
在theme init(安装时)中,make函数将进行db查询,以查找具有您的post\\u类型的所有post,并将post\\u类型重命名为您的新值。(我认为这非常简单,只需一个查询即可完成)。
然后确保您的新主题支持新的post\\u类型(只需更改post\\u类型名称)-就是这样!客户端不会丢失任何东西,您会在几秒钟内修复它:)
也许这个查询可以做到:(未测试)
function fixme($oldname, $new_typename){
global $wpdb;
$wpdb->query( $wpdb->prepare( "UPDATE ".$wpdb->posts." SET post_type = %s WHERE post_type = %s", $new_typename, $oldname ) );
}
您可以在此函数中使用:
$wpdb->prefix
如果需要获取前缀。
或者您可以使用add_action( \'after_setup_theme\', \'your_function_name\' );
因此,在安装主题后,它将调用您定义的函数,但您必须将其更改为不使用参数来设置新的post\\u类型,而是手动写入它们(分配给$oldname,$new\\u typename值)
是的,您也可以对元键执行相同的操作(如果它们没有被清理,如果它们被清理了,那么您将比在常规情况下更需要php)。。您可以对查询执行任何操作,因为它们直接指向数据库。