我希望从自定义CMS到WordPress进行自定义导入。查看WordPress中的导出/导入文件,我可以匹配大多数结构。但是,在导出/导入时,它缺少自定义分类法和职位的关系。

是否有解决方案,或者不使用WordPress的导入脚本会更容易?而是编写自定义SQL来处理所有内容。

另外,当我开发这个新站点时,旧网站中的内容(自定义CMS)仍在更新中。在发布前几天将冻结,我可以在那里进行另一个DB垃圾场并重新接口。不过,我预见到的问题是,我需要删除所有帖子和关系并重新传输内容。是否有一种简单的方法来删除所有帖子和关系以防止任何重复并重新登录内容?

有帮助吗?

解决方案

在WordPress的自定义进口商中,对于自定义帖子类型或分类法的处理不应很难。您只需要确保在进口商运行之前注册您的自定义帖子类型和分类法。注册后,您可以在这些自定义类型上使用wp_insert_post()和wp_set_object_terms()。最终,这可能是一个比尝试编写自定义SQL的解决方案要好得多,因为它填充了许多并不总是很明显的额外字段,例如术语对象计数等。

每当我使用脚本以从另一个系统导入数据时,我总是创建核武器函数,因为您提到的原因,仅仅因为导入数据总是是一堆反复试验。该函数通常仅由一个单个循环组成,该循环可以调用每个帖子的WP_DELETE_POST()。根据导入,我还可以在数据库中的每个项上添加另一个以调用WP_DELETE_TERM()。

$post_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type in ('post', 'attachment', [...other post types])");
foreach($post_ids as $post_id) {
    wp_delete_post($post_id, true);
}
许可以下: CC-BY-SA归因
scroll top