如何在 WordPress 中复制页面 [简单方法]
已发表: 2023-06-19寻找一种简单的方法来复制页面或在 WordPress 中发帖?
在网站开发和内容管理领域,WordPress 作为一个功能强大且用户友好的平台脱颖而出。 它提供了许多功能,可以简化管理和组织网站页面的过程。 其中一项功能是能够复制页面,这可以在创建类似或相关内容时节省您的时间和精力。
在本文中,我们将讨论为什么您可能需要在 WordPress 中复制页面。 然后我们将介绍如何使用和不使用插件。
让我们开始吧!
为什么在 WordPress 中克隆或复制页面?
在 WordPress 中复制页面具有多种优势并可用于各种目的。 以下是您可能想要在 WordPress 中复制页面的一些令人信服的原因:
- 一致性和效率:如果你有一个特定的页面布局、设计或结构,你想在多个页面上复制,复制一个页面可以避免你从头开始重新创建整个结构。 它确保整个网站的一致性,保持一致的外观和感觉。
- 节省时间:复制页面可以显着减少您的工作量,尤其是当您需要创建类似内容时。 无需从头开始并重新创建整个页面,您可以复制现有页面并进行必要的修改,从而节省时间和精力。
- A/B 测试:复制页面对于进行 A/B 测试或拆分测试很有用。 通过创建具有细微变化的多个版本的页面,您可以分析哪个版本在用户参与度、转化率或其他所需指标方面表现更好。 这使您可以根据实时数据改进您的内容策略并优化您网站的性能。
- 备份和恢复:复制页面可以作为一种备份机制。 如果您对页面进行了重大更改并希望保留以前的版本,则复制它可确保您拥有随时可用的备份副本。 如果出现任何问题或意外更改,您可以恢复到复制版本并恢复您的内容,而无需从头开始。
如何在 WordPress 上复制页面
可以通过三种简单的方法来复制 WordPress 页面、帖子或任何自定义帖子类型:
- 插件——复制帖子或页面的简单方法是使用众多专用插件之一(其中大部分是免费的)。
- 编辑器——如果你只复制内容和设计。
- 手动代码——对于自己动手的人,只需将一些自定义代码添加到主题的 functions.php 文件中。
让我们通过它们。
使用插件复制 WordPress 页面
您可以使用许多 WordPress 插件来复制 WordPress 上的页面。 对于本文,我们将使用 Yoast Duplicate Post。
如果您只是想要一种快速简便的方法来克隆页面、帖子或任何其他自定义帖子类型,那么此插件非常有用。
首先,安装并激活 Yoast Duplicate Post 插件。 有关更多信息,请查看我们关于如何安装 WordPress 插件的指南。
激活后,转到 WordPress 仪表板中的页面或帖子区域。
无论您使用的是页面还是帖子,Duplicate Post 插件默认都会在每个标题下方添加三个链接:
- 克隆:在不打开克隆内容的编辑器的情况下复制您的 WordPress 页面或帖子。
- 新草稿:克隆内容并打开编辑器,让您可以开始工作。
- 重写和重新发布:更新内容的最佳选择。 它会复制您可能更改的内容的实时版本。 完成编辑后,只需单击一下即可重新发布到原始 URL 以覆盖现有内容。
但是,在某些情况下,您希望复制所有元数据,甚至限制有权访问的用户。 幸运的是,您可以使用 Duplicate Post 设置完成所有这些(以及更多)。
自定义重复的帖子插件设置
重复的帖子插件可以立即使用,默认情况下支持帖子和页面。
但是,您还可以配置插件以支持自定义帖子类型、限制用户角色以及在创建副本时选择要复制的内容。
让我们来看看这些选项中的每一个。
转到设置 » 复制帖子页面以配置插件设置。
设置页面分为三个选项卡。 “复制内容”选项卡允许您在创建副本时选择要复制的内容。
对于大多数网站来说,默认设置应该足够了。 但是,您可以选中要复制的项目并取消选中不想复制的项目。
在此之后,转到“权限”选项卡。
默认情况下,该插件允许管理员和编辑发布重复的帖子。
它还允许帖子和页面帖子类型的重复帖子功能。
如果您在您的网站上使用自定义帖子类型,它们将显示在此处。 您也可以选择是否允许自定义帖子类型的重复帖子选项。
最后,转到“显示”选项卡并选择您希望克隆帖子链接出现的位置。 默认情况下,插件将它们显示在帖子列表、编辑屏幕和管理栏上。
完成设置后,单击“保存更改”按钮以保存设置。
用于页面克隆/复制的其他一些 WordPress 插件
- 重复页面和帖子
- 重复页面
- 后复印机
使用编辑器复制 WordPress 页面
此方法使用 WordPress 块编辑器 (Gutenberg) 中默认提供的内置复制功能。
只需转到页面 » 所有页面,然后单击要复制的页面。
打开后,单击屏幕右上角的三点菜单。 现在,选择复制所有块选项:
接下来,返回并创建一个新页面并将复制的内容粘贴到其中。
粘贴内容后,您复制的页面就可以发布了。
请注意,此方法不会复制元数据,例如帖子的标题、分类法(类别和标签)等。但是,如果您只是为未来的内容创建模板,它可以正常工作。
手动复制 WordPress 页面
如果您更喜欢自己动手的方法,您也可以使用自定义代码编写自己的复制页面函数。 除了避免需要在您的站点上安装另一个插件之外,这种方法与插件路由相比没有任何优势。
要使用此代码,请将其添加到主题的functions.php文件或代码管理插件(如 Code Snippets)中。 如果将它添加到 functions.php 文件,请确保使用子主题。
$current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * if post data exists, create the post duplicate */ if (isset( $post ) && $post != null) { /* * new post data array */ $args = array( 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_author' => $new_post_author, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_name' => $post->post_name, 'post_parent' => $post->post_parent, 'post_password' => $post->post_password, 'post_status' => 'draft', 'post_title' => $post->post_title, 'post_type' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order ); /* * insert the post by wp_insert_post() function */ $new_post_id = wp_insert_post( $args ); /* * get all current post terms ad set them to the new post draft */ $taxonomies = get_object_taxonomies($post->post_type); // returns array of taxonomy names for post type, ex array("category", "post_tag"); foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } /* * duplicate all post meta just in two SQL queries */ $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id"); if (count($post_meta_infos)!=0) { $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) "; foreach ($post_meta_infos as $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key == '_wp_old_slug' ) continue; $meta_value = addslashes($meta_info->meta_value); $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'"; } $sql_query.= implode(" UNION ALL ", $sql_query_sel); $wpdb->query($sql_query); } /* * finally, redirect to the edit post screen for the new draft */ wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) ); exit; } else { wp_die('Post creation failed, could not find original post: ' . $post_id); } } add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' ); /* * Add the duplicate link to action list for post_row_actions */ function rd_duplicate_post_link( $actions, $post ) { if (current_user_can('edit_posts')) { $actions['duplicate'] = ' ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate '; } return $actions; } add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 ); add_filter( 'page_row_actions', 'rd_duplicate_post_link', 10, 2 );
默认情况下,该代码段允许对帖子和页面进行复制。 如果您只想为两者之一激活它,请删除代码行底部的page_row_actions或post_row_actions过滤器。
就这样!
我们希望本文能帮助您了解如何轻松复制 WordPress 页面。
有关更多信息,请查看这些其他有用的资源:
- 如何卸载和删除 WordPress 主题
- WordPress 登录 URL:如何查找和管理它
最后,如果您喜欢这篇文章,请在 Facebook 和 Twitter 上关注我们。