如何复制或复制 WordPress 页面或帖子

已发表: 2021-01-01
如何在 WordPress 中复制页面或帖子– 了解如何在使用和不使用插件的情况下克隆和复制 WordPress 中的页面或帖子。
目录
    添加标题以开始生成目录

    如何复制页面或帖子

    1. 安装 Labinator Content Types Duplicator 插件。
    2. 转到您的仪表板。
    3. 转到页面或帖子。
    4. 将鼠标悬停在页面或帖子上。
    5. 点击“克隆”。

    介绍

    您的页面和帖子是您 WordPress 网站的基础。 这使得了解如何轻松编辑和创建它们变得至关重要。 复制是一个了不起的工具,因为它不仅可以让您复制现有的东西,还可以创建可以克隆以创建内容的模板。

    复制可以显着加快您的工作流程,让您的工作效率更高。 尽管设置起来似乎很困难,但启用克隆或获取这些插件之一来帮助您复制页面或帖子非常容易。 在本教程中,我将向您展示如何在没有插件的情况下克隆内容以及如何使用插件来克隆它们

    无插件复制

    首先,本节将向您展示如何在没有插件的情况下进行操作。 使用您添加到您的functions.php文件中的此代码可以手动启用克隆。 为此,您需要能够使用FTPcPanel访问您的 WordPress 站点的核心服务器文件。

    如果您想从 FTP 开始, FileZilla是一个不错的选择。 一些托管服务提供商内置了可让您访问文件的 cPanel。 设置好 cPanel 或 FTP 后,请先备份您的站点,然后再继续操作以确保安全。 要开始此过程,您必须找到您的 WordPress 服务器文件并按照以下步骤操作:

    打开您的FTP 或 cPanel

    找到并打开functions.php文件。

    转到文件底部并添加以下代码:

     /*
    * 后期复制功能。 Dups 显示为草稿。 用户被重定向到编辑屏幕
    */
    函数 rd_duplicate_post_as_draft(){
    全球 $wpdb;
    if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action '] ) ) ) {
    wp_die('没有提供要复制的帖子!');
    }
    /*
    * 随机数验证
    */
    if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) )
    返回;
    /*
    * 获取原始帖子ID
    */
    $post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );
    /*
    * 以及所有原始帖子数据
    */
    $post = get_post($post_id);
    /*
    * 如果您不希望当前用户成为新的帖子作者,
    * 然后将接下来的几行更改为: $new_post_author = $post->post_author;
    */
    $current_user = wp_get_current_user();
    $new_post_author = $current_user->ID;
    /*
    * 如果帖子数据存在,则创建帖子副本
    */
    如果 (isset( $post ) && $post != null) {
    /*
    * 新的帖子数据数组
    */
    $args = 数组(
    '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' => '草稿',
    'post_title' => $post->post_title,
    'post_type' => $post->post_type,
    'to_ping' => $post->to_ping,
    'menu_order' => $post->menu_order
    );
    /*
    * 通过 wp_insert_post() 函数插入帖子
    */
    $new_post_id = wp_insert_post($args);
    /*
    *获取所有当前的帖子条款广告将它们设置为新的帖子草稿
    */
    $taxonomies = get_object_taxonomies($post->post_type); // 返回帖子类型的分类名称数组,例如 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);
    }
    /*
    * 仅在两个 SQL 查询中复制所有帖子元数据
    */
    $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
    如果(计数($post_meta_infos)!=0){
    $sql_query = "插入 $wpdb->postmeta (post_id, meta_key, meta_value)";
    foreach ($post_meta_infos 作为 $meta_info) {
    $meta_key = $meta_info->meta_key;
    如果($meta_key == '_wp_old_slug')继续;
    $meta_value = addlashes($meta_info->meta_value);
    $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'";
    }
    $sql_query.= implode("UNION ALL", $sql_query_sel);
    $wpdb->查询($sql_query);
    }
    /*
    * 最后,重定向到新草稿的编辑帖子屏幕
    */
    wp_redirect(admin_url('post.php?action=edit&post='.$new_post_id));
    出口;
    } 别的 {
    wp_die('帖子创建失败,找不到原帖:' . $post_id);
    }
    }
    add_action('admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft');
    /*
    * 添加重复链接到 post_row_actions 的操作列表
    */
    函数 rd_duplicate_post_link($actions, $post) {
    if (current_user_can('edit_posts')) {
    $actions['duplicate'] = '重复';
    }
    返回$动作;
    }
    add_filter('post_row_actions', 'rd_duplicate_post_link', 10, 2);
    如果您也想复制页面,请再次使用相同的代码,但将最后一行替换为:
     add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2); 

    完成我们列出的流程后,您可以复制页面或帖子。 您的 WordPress 现在已启用页面和帖子的复制。 此方法将允许您像插件一样复制页面和帖子。 要复制页面或帖子,请按照以下步骤操作:

    1. 转到您的WordPress 仪表板
    2. 转到页面帖子
    3. 将鼠标悬停在要复制的页面或帖子上。
    4. 点击复制

    此方法的唯一缺点是您不能批量复制页面或帖子或使用特殊设置 插件允许更多的可定制性和选项,以了解您希望如何复制页面或帖子。 在下一节中,我将向您展示如何使用插件来复制页面或帖子。

    使用插件复制

    如果您想为您的帖子、页面、媒体文件、菜单、小部件和任何自定义内容类型提供多合一的复制器,那么我们自己的免费插件将是您的完美选择。 “Labinator 内容类型复制器” 这个插件非常轻巧、快速、易于使用,并且可以使用自定义设置复制页面或帖子。 这个插件是最好的,因为它可以通过一次安装在一个地方完成所有事情

    “Labinator Content Types Duplicator”正如它所说的那样,它允许你在 WordPress 上复制任何你想要的内容类型。 这个免费的插件提供了一些额外的功能和很多内容复制的能力。 在此处查看如何使用该插件:

    1. 首先,安装并激活插件。
    2. 转到PagesPosts ,具体取决于您想要的。
    3. 将鼠标悬停在要克隆的页面或帖子上。
    4. 点击克隆

    如您所见,借助这个方便的插件,您可以通过四个简单的步骤复制页面或帖子。 这个插件是克隆页面和帖子的一个非常好的选择,无需付出太多努力。 虽然这不是这个插件唯一能够做的事情。 在下一节中,我将向您展示如何使用自定义设置复制内容。

    使用自定义设置复制

    自定义复制的最佳方法是使用名为“Labinator Content Types Duplicator”的插件。 如前所述,这个插件在复制方面几乎可以做任何事情。 这还包括某些内容类型的自定义复制。 该插件有一个内置页面,允许您更改内容类型、访问权限和添加其他设置

    该插件通过提供整个设置屏幕而不是一个按钮来做到这一点。 该插件已经在各自的区域提供了用于复制小部件和媒体的选项。 设置屏幕允许您设置要用于更改页面和帖子复制方式的标准。 在此处查看如何使用它:

    1. 转到您的WordPress 仪表板。
    2. 转到设置。
    3. 然后转到Labinator 内容类型复制器。

    一个菜单允许您更改正在克隆的内容以及克隆的方式。 您可以更改可以复制的内容以及正在复制的元素。 此页面还允许您更改克隆内容的后缀和前缀。

    插件屏幕上第二个和第三个菜单允许您更改插件的权限和显示选项。 权限选项卡允许您授予站点上某些管理员和用户的访问权限。 显示选项允许您更改内容链接的显示位置。

    现在您知道如何在 WordPress 中使用插件、不使用插件和自定义设置来复制页面或帖子。 使用此过程,您将能够根据自己的喜好轻松复制和克隆页面或帖子。 如果你想要更多很棒的插件,那么你应该看看这个网站!

    WordPress 解决方案的最佳场所

    必须处理技术问题和错误可能会使使用 WordPress 变得痛苦。 虽然我们为您提供完美的解决方案!

    我们的顶级 WordPress 解决方案涵盖了从主题和插件到实时支持的所有内容。 有我们在您身边,您将在几天内拥有一个干净、优化和完善的网站!

    在这里查看我们!

    WordPress 指南

    WordPress指南和清单的最佳集合

    我们完整且最新的 WordPress 指南和资源集合,涵盖了充分利用 WordPress 网站所需的一切。

    WordPress Launch Checklist
    WordPress Theme Choosing Guide
    WordPress Security
    WordPress Cleaning & Optimization
    White Labeling WordPress
    WordPress Speed Optimization
    Must-Read WordPress Mistakes
    Why WordPress

    全部下载!

    我们所有的指南都将发送到您的收件箱