以下是我想要达到的目标,我相信这是可能的。
我的WordPress安装中有3,000多页。
从一开始,我就应该把这些页面分成“自定义页面”,但是当我开始我的博客时,我并不知道自定义页面的能力或威力。
所以,下面是我要做的:将某些页面从父URL移动到自定义页面.
例如,我当前的标准wordpress结构包括具有父级“持有”URL的“水果”和“蔬菜”的页面(见下文)
domain.com/fruit/page-1
domain.com/fruit/page-2
domain.com/fruit/page-3
domain.com/fruit/page-4
domain.com/vegetables/page-1
domain.com/vegetables/page-2
domain.com/vegetables/page-3
domain.com/vegetables/page-4我想为这两个“父目录”创建自定义页面类型(使用pods插件),在我上面的示例中,这两个目录都是“水果”和“蔬菜”。
所以,我的计划是..。
我该怎么做呢,或者说“最好的”方法是什么?
谢谢!
发布于 2018-06-03 06:47:58
有很多方法你可以做到这一点,很难说哪一个将是最好的。
第一部分是注册你的CPTs -我想这很容易。假设您已经注册了CPT,这些CPT被称为fruit和vegetable。
所以现在唯一要做的就是把现有的页面转换成CPT。
我们需要What吗?
做这个的How?
只需运行以下查询:
UPDATE prefix_posts
SET post_parent = 0, post_type = 'vegetable'
WHERE post_type = 'page' AND post_parent = 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' )
);
}
}免责声明:当然,在执行这些查询之前,您应该备份数据库;)
https://wordpress.stackexchange.com/questions/305168
复制相似问题