WordPress 重复页面或帖子:如何操作(2021 年)

已发表: 2021-10-26
wordpress 重复页面

您通常在我们的网站上制作WordPress 重复页面内容吗?

在开发网站时,复制页面或帖子并不常见。 但是,如果您经常重复页面或帖子,那将是您的明智之举。

因此,您是否需要一个全新的布局测试场? 或者也许是为了系统更新和升级? 无论情况如何,您都可以通过多种方法制作 WordPress 副本。 您需要注意的是哪些方法适合您和您的网站。 在本文中,我们很高兴为您提供教程来解释和指导如何在 WordPress 中复制页面

在此之前,让我们先搞清楚:为什么要复制页面/帖子。

目录

WordPress重复页面:你需要吗?

好吧,你可以选择做或不做。 但是,在某些情况下,您将需要站点的副本,例如:

– 用户正在使用最新版本的主题、插件、WordPress、PHP 或相关内容,而您的网站没有暂存过程。

– 制作新内容时想要复制以重复使用。

– 您找到了一个理想的布局,并且想在您的网站上尝试一下。

– 需要将自定义 CSS/HTML 代码应用到您的新网站。

如您所见,复制版本将带来巨大的好处。 好吧,让我们深入了解复制页面 WordPress的方法。

手动复制和粘贴内容

简单地说,您会将内容复制并粘贴到新版本/草稿中。 它看起来很容易接近,我们可以猜到您选择这种方法的原因:

– 你不知道更快的方法。

– 您的网站没有很多页面,也不专注于 SEO。

– 您正在复制一个无法通过您网站的后端访问的页面。

由于2和3的原因,我们不得不同意手工复制和粘贴是你们所有人的最佳选择。 不过,这种方法也有一些缺点。 您无法正确复制图片、元标记、永久链接、自定义 CSS/HTML 和其他元素。

阅读更多:如何适应移动用户体验和改变用户浏览器习惯

这里有两个步骤:

第 1 步:从原始来源制作副本版本

好吧,您可以说 Ctrl+A 将是这里最重要的因素。 您将要做的是访问计划的站点,突出显示、复制并将其粘贴到您计划的项目中。

因此,您将直接进入内容。 进入下一步。

第 2 步:删除 HTML 中的标签

粘贴内容后,导航到您网站的代码编辑器。 在这里,您将删除所有 &nbsp; 和 <span> 元标记,因为您的网站将遵循代码框架。

如前所述,手动复制可能会给您带来潜在的错误和错误。 为了解决这个问题,您可以查找仍然维护我们网站的其他解决方案。

使用块编辑器复制帖子和页面

特别是,使用块编辑器进行复制似乎是半手动的,但它仍然具有与手动复制几乎相同的缺点。

首先,您可以打开网站并导航到右上角菜单中的“更多工具和选项”。 然后,选择“工具”和“复制所有内容”。 之后,在将新项目粘贴到计划部分后,您将拥有新项目的所有内容。

在 WordPress 重复页面中应用插件

通常,您可以使用插件在 WordPress 中执行任何操作,页面复制也是如此。

首先,您将选择合适的插件:在过去 6 个月内更新,评分至少 4/5 星,并且可以与您的 WordPress 版本集成。 我们以 Duplicate Page 插件为例。

然后,您将下载并激活它。 导航到“页面”->“所有页面”,移动到计划的站点,然后选择“复制此”按钮。 做得好,您可以从现在开始使用插件在 WordPress 中复制页面。

将代码导入文件 functions.php

人们常说“方案越强硬,结果就越灵活高效”。 另一方面,这句话也适用于这个解决方案。 用户可以将代码添加到文件 functions.php 中,不仅可以复制 WordPress 页面,还可以复制其他目标。 为了更方便,您可以添加指向仪表板选项卡的链接。 因此,您将非常容易制作WordPress 克隆页面

阅读更多:域名和虚拟主机:您​​需要知道的

让我们先解决一些要求:

– 您网站的服务器可访问性:您始终可以在主机管理面板或第一次购买帐户时发送给您的电子邮件中找到参考资料。

- 来自当前父主题的子主题:您可以在更新/升级站点时保存更改。 此外,您的网站应该有一个子主题。

– 文本编辑器:您应该为您的目的选择合适的。

– FTP 客户端:用户可以在主机的文件管理器中访问 FTP 客户端。 此外,您还可以使用其他工具。

访问 FTP 客户端

首先,访问 FTP 客户端并导航到文件夹“wp-content”->“theme”。 因此,您应该在子主题的文件夹中拥有文件 functions.php。 如果没有,请先制作一个。

添加代码行

之后,打开该文件。 在那里,您将添加以下代码行:

 /* Duplicate posts and pages function. Duplicates appear as drafts, and the user is redirected to the Edit screen. */ function rd_duplicate_post_as_draft(){ global $wpdb; if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) { wp_die('No post to duplicate has been supplied!'); } /* Nonce verification */ if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; /* This gets the original post or page ID */ $post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) ); /* …then grabs the original post data. */ $post = get_post( $post_id ); /* To select another user as the post author, use $new_post_author = $post->post_author;. Otherwise… */ $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* If the post data exists, create the duplicate */ if (isset( $post ) && $post != null) { /* Create a 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 using wp_insert_post() */ $new_post_id = wp_insert_post( $args ); /* Get all current post terms, then set them against the new 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 of the post metadata */ $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); } /* 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 the action list for post_row_actions */ function rd_duplicate_post_link( $actions, $post ) { if (current_user_can('edit_posts')) { $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=rd_duplicate_post_as_draft&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Duplicate</a>'; } return $actions; } add_filter('post_row_actions', 'rd_duplicate_post_link', 10, 2 ); add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);

完成过程

最后,重新加载并返回屏幕“页面”。 在该屏幕上,您应该观察到此页面上的复制链接。 此外,您可以将其用作插件并开发以供以后使用。

阅读更多:大更新:LearnPress 的 WooCommerce 附加组件

因此,这就是如何使用插件在 WordPress 中复制页面

为 WordPress 重复页面选择正确的方法

您可能认为复制页面 WordPress很容易。 此外,人们倾向于选择最好和最快的方法来完成它。 但是,我们建议您根据自己的需求选择更复杂、更详细的方法。

显然,对于只需要复制 WordPress 页面的人来说,插件是最有利的选择。 下载并安装主题后,它将生效,为所有相关问题提供所有功能。 但是,如果您打算进行大量重复,则可以考虑硬编码解决方案。 另一方面,如果可能,您可能会针对特定目的和目标进行其他选择。 因此,如果它完全为您服务,那么您的预算将是值得的。

如何复制 WordPress 页面:结论

纵观事物,WordPress 重复页面对于任何 Web 所有者和开发人员来说都应该是一件容易的事。 根据需求和经验,每个人都可以选择不同的方式来完成它。 在这篇文章之后,我们向您展示了复制 WordPress 文章或页面的 4 种常用方法。 他们的困难从最简单的到最复杂的。

通过本文,我们相信您将获得复制 WordPress 页面的正确解决方案。

阅读更多:如何创建 WordPress 子主题(2021 年)