有很多方法可以做到这一点,很难说哪种方法是最好的。
第一部分是注册您的CPT-我想这很容易。假设您已经注册了CPT,这些CPT被称为fruit
和vegetable
.
因此,现在唯一要做的就是将现有页面转换为CPT。
What will we need?
<父页的ID,运行SQL代码的能力
How to do this?
只需运行此查询:
UPDATE prefix_posts
SET post_parent = 0, post_type = \'vegetable\'
WHERE post_type = \'page\' AND post_parent = <VEGETABLE_PAGE_ID>
还有PHP版本,因为这样运行可能会更容易一些:
function convert_children_of_page_to_cpt( $page_slug, $cpt_slug ) {
global $wpdb;
$page = get_page_by_path( $page_slug );
if ( $page ) {
$wpdb->update(
$wpdb->posts,
array( \'post_parent\' => 0, \'post_type\' => $cpt_slug ),
array( \'post_parent\' => $page->ID, \'post_type\' => \'page\' )
);
}
}
DISCLAIMER: 当然,您应该在执行这些查询之前备份数据库;)