WordPress网站如何复制页面和博客文章?
WordPress网站并没有提供直接的网页或者文章复制功能,所以今天这篇文章就教大家三种简单好用的方法。
视频教程
方法一 复制区块,创建新页面
比如下面这个页面,当我们把鼠标放上去的时候,并没有“复制”的选项。

但是可以选择“编辑”,然后把页面的框架调出来,按住“Shift”+选中所有区块,鼠标右击会有个复制的选项,把所有区块复制下来。

或者点击右上角的三点,下拉也会有个“复制全部区块”。

然后再创建一个新的页面,鼠标放到内容区域,粘贴(Ctrl+V)即可。

方法二 使用插件
这类的插件有很多:
- Duplicate Page
- Yoast Duplicate Post
- Duplicate Page and Post
- ……
登录WordPress后台,安装新的插件,搜索“Duplicate”。这里以Duplicate Page 做演示,选择立即安装并启用。

然后在已安装插件中,找到Duplicate Page,点击【设置】。
- 选择编辑器:你用的什么编辑器就选择哪个,我这里是古腾堡。
- Duplicate Post 状态:复制页面后是发布还是草稿状态,或者加密,待审核。
- 点击复制此链接后,重定向至:点击复制后是否直接跳转到复制页面的编辑状态。
- Duplicate Post后缀:复制页面的标题添加后缀,比如“原标题”+复制。
都选好之后就保存,然后到左边菜单的页面选项。

这个时候再把鼠标移到对应页面下方就多出了“复制这个”选项,

点击之后就会自动复制出一个新的页面,然后我们对新的页面做一些修改和调整就可以了,比如标题,链接,图片内容等等。
方法三 代码
选择左边菜单——外观选项下的【主题文件编辑器】,将下面代码粘贴到function.php里。
function duplicate_post_as_draft() {
global $wpdb;
if (!(isset($_GET['post']) || isset($_POST['post']) || (isset($_REQUEST['action']) && 'duplicate_post_as_draft' == $_REQUEST['action']))) {
wp_die('No post or page to duplicate!');
}
$post_id = (isset($_GET['post']) ? $_GET['post'] : $_POST['post']);
$post = get_post($post_id);
// 检查用户权限
if (!current_user_can('edit_' . $post->post_type, $post_id)) {
wp_die('You do not have permission to duplicate this content!');
}
$new_post = array(
'post_title' => $post->post_title . ' (Copy)',
'post_content' => $post->post_content,
'post_status' => 'draft',
'post_type' => $post->post_type, // 保留原始文章类型
'post_author' => $post->post_author,
'post_excerpt' => $post->post_excerpt, // 保留摘要
'post_date' => current_time('mysql'), // 设置新创建时间
);
$new_post_id = wp_insert_post($new_post);
// 复制元数据(如果需要)
$post_meta = get_post_meta($post_id);
foreach ($post_meta as $meta_key => $meta_values) {
foreach ($meta_values as $meta_value) {
add_post_meta($new_post_id, $meta_key, $meta_value);
}
}
wp_redirect(admin_url('edit.php?post_type=' . $post->post_type)); // 跳转到对应文章类型列表
exit;
}
add_action('admin_action_duplicate_post_as_draft', 'duplicate_post_as_draft');
function add_duplicate_link($actions, $post) {
if (current_user_can('edit_' . $post->post_type, $post->ID)) {
$actions['duplicate'] = '<a href="' . admin_url('admin.php?action=duplicate_post_as_draft&post=' . $post->ID) . '">复制</a>';
}
return $actions;
}
// 为页面和文章添加复制链接
add_filter('page_row_actions', 'add_duplicate_link', 10, 2);
add_filter('post_row_actions', 'add_duplicate_link', 10, 2); // 添加对文章的支持

再回到页面或者文章,就多出了一个复制的功能,点击之后就会自动生成一个副本文件,点击进去修改就可以了。

以上就是今天教大家的三种复制页面和文章的方法,如果你需要复制的页面不多,建议第一种:复制全部块,粘贴到新的页面即可。如果只需要很简单的复制,那么第三种,添加代码完全可以满足。如果需要更多的功能,那么建议使用插件的方式。
© 文章版权归白小菌所有,🫰欢迎转发分享。未经允许请勿抄袭转载。







这个地方讲了博客的编辑,但是我想看一下博客页面的编辑方式,这个页面和其他页面不同。我想实现https://motorad.com/video/这个页面上的博客页面展示
他的是WordPress建站,和Shopify不一样