在 WordPress 中,并非每个页面或文章都需要从头开始创建。如果您已经设计了一个性能良好的登陆页面、服务布局或博文格式,复制该结构以供将来使用可以为您节省数小时的工作时间。
事实上,复制现有内容而不是手动重建,可以减少多达 60% 的制作时间,尤其是对于具有复杂布局或重复格式的网站。
无论你是要重新设计网站的某些部分,还是要从现有资料中分离出新内容,抑或是为客户创建模板,能够快速复制页面或文章都能让你的工作流程更加高效。
本教学指南介绍了在 WordPress 中实现这一功能的两种方法:使用插件和手动操作。
为什么要复制WordPress页面或文章?
复制现有页面或文章而不是每次都从零开始有几个很好的理由。以下是几种常见的使用情况:
- 保持设计的一致性:如果你已经确定了一个页面的布局–无论是服务模板、产品页面还是登陆页面–复制它可以让你更轻松地重复使用该结构,而无需从头开始重新应用每一个细节。
- 加快内容创建速度:当你在一个网站上创建多个具有相同格式的页面时,复制基本布局可以节省时间。这比手动创建每个页面要快得多。
- 进行布局测试或内容实验:如果你要做一些小的改动,看看哪种方式效果更好,比如调整标题、图片或 CTA,那么复制一个页面就能为你提供一个安全的副本,而不会对你的原始内容造成风险。
- 更快地翻译内容:对于多语言网站来说,复制一个页面会给你一个干净的起点。您可以在翻译文本的同时保持原有结构的完整性。
- 在安全的环境中进行更改:有些服务器平台提供内置的暂存功能。这意味着您可以复制一个页面或文章,测试您所做的更改,并在准备就绪时才将其推送上线,而不会影响您的主网站。
注意:在多个 URL 上拥有相同的内容会使搜索引擎感到困惑。为避免搜索引擎优化问题,请在您希望索引的版本上设置规范标签。大多数 SEO 插件都能轻松管理这一点。
如何复制WordPress页面或文章[2 种方法]
在插件中复制页面或文章主要有两种方法–使用插件或手动。使用插件的方法比较简单。
我们先来看看插件方法,然后再看看手动方法。
方法 #1:使用插件复制WordPress页面或文章
手动复制页面或文章似乎是最简单的方法–复制内容,粘贴到新的草稿中,然后就可以了。但这种方法不仅耗时,在某些情况下还存在风险。它很容易遗漏关键部分,如特色图片、搜索引擎优化元数据或自定义布局设置。如果你管理的是客户作品或复杂的模板,一个被忽视的细节就会影响整个页面的效果。
在 Gutenberg 中,使用编辑器设置菜单中的“复制所有区块”选项是一个稍微有效的方法。虽然这可以保存区块编辑器中的内容,但并不能继承主要图片、模板分配、元标题或描述等关键元素。您仍需手动填补这些空白。
要避免这些额外步骤,可以使用复制插件。其中一个例子就是 Duplicate Page,它的有效安装量已超过 300 万。
下面介绍如何使用它:
1. 安装插件
从仪表板进入插件 →添加插件,搜索“Duplicate Page”,然后点击 立即安装并启用。
如果你是新手,请查看我们的指南,了解如何安装 WordPress 插件。
2. 调整设置
激活后,访问设置 →Duplicate Page。你可以指定它与哪个编辑器配合使用,还可以选择给复制分配什么状态(例如草稿)。完成设置调整后,点击保存更改。
3. 一键复制
转到页面或文章列表。在每个条目下,你会看到一个 “Duplicate…”选项。点击它就能创建一个完整的副本,包括结构、元数据和所有内容,并保存为草稿。
就是这样。使用插件复制 WordPress 页面和文章就是这么简单。
注:该插件有一个高级版本,具有额外的功能,但对于大多数用户来说,免费插件涵盖了复制页面和文章的核心需求。
方法 2:手动复制页面或文章
如果你不想依赖插件,可以通过编辑主题的 functions.php 文件,直接在 WordPress 仪表盘中为文章和页面添加复制链接。
在进行任何更改之前,请务必备份您的网站。在错误的地方出现一个小错字就可能会破坏你的主题。
在本教程中,我将使用 FileZilla 来编辑 functions.php 文件,并向您展示如何使用 WordPress 内置的主题文件编辑器来完成同样的操作。
1. 通过FTP连接到网站
打开 FileZilla,使用 FTP 凭据(主机、用户名、密码和端口)进行连接。
2. 导航至主题文件夹
- 转到:public_html/wp-content/themes/your-active-theme-name/
- 右键单击 functions.php,选择查看/编辑,在默认文本编辑器中打开。
3. 添加此自定义复制代码
在文件底部粘贴以下代码段:
// 在管理区添加 “复制我的文章”或 “复制我的页面”链接 function clone_post_as_draft() { global $wpdb; if (!isset($_GET['post']) || !isset($_GET['duplicate_nonce']) || !wp_verify_nonce($_GET['duplicate_nonce'], basename(__FILE__))) { return; } $post_id = absint($_GET['post']); $original = get_post($post_id); if (!$original) { wp_die('Original content not found.'); } $current_user = wp_get_current_user(); $new_post = array( 'post_title' => $original->post_title, 'post_content' => $original->post_content, 'post_status' => 'draft', 'post_type' => $original->post_type, 'post_author' => $current_user->ID, 'post_excerpt' => $original->post_excerpt, 'post_parent' => $original->post_parent, 'menu_order' => $original->menu_order, 'comment_status'=> $original->comment_status, 'ping_status' => $original->ping_status, ); $new_post_id = wp_insert_post($new_post); // Copy taxonomies $taxonomies = get_object_taxonomies($original->post_type); foreach ($taxonomies as $taxonomy) { $terms = wp_get_object_terms($post_id, $taxonomy, ['fields' => 'slugs']); wp_set_object_terms($new_post_id, $terms, $taxonomy, false); } // Copy post meta $meta = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id"); foreach ($meta as $meta_info) { if ($meta_info->meta_key === '_wp_old_slug') continue; add_post_meta($new_post_id, $meta_info->meta_key, maybe_unserialize($meta_info->meta_value)); } wp_redirect(admin_url('post.php?action=edit&post=' . $new_post_id)); exit; } add_action('admin_action_clone_post_as_draft', 'clone_post_as_draft'); function add_clone_link($actions, $post) { if (current_user_can('edit_posts')) { $type_label = ($post->post_type === 'page') ? 'Duplicate My Page' : 'Duplicate My Post'; $url = wp_nonce_url('admin.php?action=clone_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce'); $actions['clone'] = '<a href="' . esc_url($url) . '" title="Clone this item">' . $type_label . '</a>'; } return $actions; } add_filter('post_row_actions', 'add_clone_link', 10, 2); add_filter('page_row_actions', 'add_clone_link', 10, 2);
4. 保存文件并重新上传
保存后,将文件拖放到 FileZilla 中。它会询问你是否要覆盖现有文件,点击“确定”。
5. 验证是否有效
- 进入仪表板的“文章或页面”部分。
- 现在你应该可以在网站的每个页面和文章下看到“Duplicate My Post”或“Duplicate My Page”选项。
- 点击它将立即根据原始内容创建一个新草稿。
选择 2:使用内置主题文件编辑器
如果您无法通过 FTP 或 SSH 访问服务器,不用担心–WordPress 提供了直接通过仪表板进行编辑的方法。
只需前往外观 →主题文件编辑器 。
在开始之前,你会发现 WordPress 显示了一个警告。它基本上是让你知道,直接编辑主题文件并不总是最安全的方法。推荐的方法是使用子主题,这样你的更改就不会在主题更新时被抹掉。
如果你不确定如何制作,这里有一份简单的指南,教你如何制作: 如何在 WordPress 中创建子主题。
- 进入管理仪表板中的 外观 →主题文件编辑器。
- 从右侧面板找到并选择 functions.php 文件。
- 滚动到底部,粘贴我们之前使用过的代码。
- 单击“Update File”保存更改。
- 返回到“文章”或“页面”控制面板,就会在每个文章/页面标题下看到 “Duplicate My Page”或“Duplicate My Post”选项(在行列表中)。
可选:手动复制内容,无需编辑代码
如果你不想碰 functions.php 文件或使用第三方插件,你可以从任何你想复制的页面或文章中手动复制内容。具体方法如下:
- 打开要复制的页面或文章 。例如,我将打开“关于”页面。
- 点击右上角的三点菜单,切换到代码编辑器。
- 选择所有代码并复制。
- 创建一个新的页面或文章。
- 再次打开代码编辑器,粘贴复制的代码。
- 切换回可视化编辑器,继续像往常一样进行编辑。
- 如你所见,我们又创建了一个相同的页面。
这种方法适用于偶尔的复制,但如果你想复制大量的文章或页面,使用插件或简单的 functions.php 调整将为你节省大量时间。
小结
复制 WordPress 页面或文章可以为你节省大量时间,尤其是当你要处理类似的布局或测试更改时。
在本指南中,我们介绍了两种直接复制 WordPress 页面和文章的方法:使用插件来简化操作,或者手动添加代码来获得更多控制权。
如果你需要一个快速的解决方案,像 Duplicate Page 这样的插件可以在几秒钟内完成工作。如果你更喜欢轻量级,只需对主题的 functions.php 文件稍作调整,就能添加一键复制选项。
无论你选择哪种方法,拥有复制内容的能力就意味着减少了重复性工作。
如果你有任何问题,请在下面的评论中告诉我,我会尽快回复你。
常见问题
Q. 我可以用代码复制 WordPress 页面吗?
A. 可以,如果你擅长编辑代码,可以在主题的 functions.php 文件中添加代码段。这种方法可以在页面和文章界面添加“克隆”选项。这是一种无需安装插件就能在仪表板中直接创建该功能的简单方法。只需记住在修改代码前备份网站即可。
Q. 有没有手动复制 WordPress 页面或文章的方法?
A. 当然有。打开现有页面,转到代码编辑器,然后复制所有内容。创建一个新的页面或文章,再次切换到代码视图,然后粘贴内容。粘贴完成后,您可以切换回可视化编辑器。这种方法最适合一次性复制。
Q. 复制 WordPress 页面最简单的方法是什么?
A. 最快捷的方法是安装一个插件。插件激活后,进入页面列表,你会看到每个页面下面都有一个“复制”选项。点击它,一个副本就会被创建为草稿,随时可以编辑。
评论留言