如何在 WordPress 中复制页面

已发表: 2020-07-16

您知道如何在 WordPress 中复制页面吗? 在这篇文章中,您将学习如何在 WordPress 中复制页面。

内容
1为什么要在 WordPress 中复制页面?
2如何在WordPress中复制页面?
2.1使用插件在 WordPress 中复制页面
2.2如何在没有插件的情况下在 WordPress 中复制页面?

为什么要在 WordPress 中复制页面?

当您需要知道如何在 WordPress 中复制页面时,有不同的情况。

例如,您可以重写旧文章以发布新帖子,或者如果销售页面上有多个信息,您可以复制有用的内容。

您可能有一个问题,我们不能手动复制这些内容吗?

当然,您可以手动复制它们。 但是,手动复制不会复制SEO 设置发布设置相关元数据特色图像

那么,如果您可以一键复制所有这些设置,是不是很省时?

如果您了解如何在 WordPress 中复制页面,您可以编辑内容并开始处理它。

在这篇文章中,您将了解如何在 WordPress 中复制页面。

如何在 WordPress 中复制页面?

您可以在插件的帮助下或在没有插件的情况下复制 WordPress 中的页面。 让我们看一下最开始的插件方式:

使用插件复制 WordPress 中的页面

首先,您需要在 WordPress 中安装并激活 Yoast Duplicate Post 插件。

安装插件后,打开Pages > All Pages

您将在现有页面中找到克隆新草稿选项。

如何在 WordPress 中克隆页面

如果要创建页面的副本,请单击克隆。 如果要创建重复页面并在帖子编辑器中打开它以开始编辑,请单击新建草稿。

以类似的方式,如果您想为帖子创建克隆或新草稿,请转到帖子 > 所有帖子并选择所需的帖子。

如果您想将特定设计从一个页面复制或发布到另一个页面,此功能将在许多方面对您有用,甚至您可以复制对不同营销活动有用的登录页面。

在复制页面或帖子时,您可以启用用户角色并设置自定义帖子类型。

您可以从下图中观察插件的不同设置:

如何在 WordPress 中复制页面 - 复制什么
复制什么

如图所示,第一个选项卡显示要复制的内容。 插件提供了默认选项。 但是,您可以根据自己的喜好启用或禁用特定设置。

查看权限选项卡。

如何在 WordPress 中复制页面 - 权限
权限

权限选项卡中,您可以看到允许复制的默认角色以及可以复制的默认帖子类型。 如果您是管理员,则可以更改这些设置。

现在让我们看一下显示选项卡。

Yoast 重复帖子设置显示
展示

显示选项卡列出了插件的默认显示设置。 与以前的选项卡一样,您可以相应地更改它。 更改设置后,不要忘记保存它们。

不仅是 Yoast Duplicate Post,您还可以在官方 WordPress 插件库中找到其他插件,例如Duplicate Page 和 PostPost Duplicator等,您可以将它们用于相同目的。

如何在没有插件的情况下在 WordPress 中复制页面?

您还可以借助编码在 WordPress 中复制页面。

使用这种方法,您可以避免添加插件。

将此代码添加到您的 functions.php 文件中。 要访问 functions.php 文件,您可以使用文件管理器、FTP 客户端或编辑外观 > 主题编辑器 > 主题函数。

 函数 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__ ) ) )
返回;

$post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );

$post = get_post($post_id);
$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
);

$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);
}

$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');

函数 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="复制此项目" rel="permalink">复制</a>';
}
返回$动作;
}

add_filter('post_row_actions', 'rd_duplicate_post_link', 10, 2);

如果要更改最后一行的过滤器名称,如下所示:

 add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);

如果您正确嵌入了此代码,您将在所有帖子和页面中看到重复选项。

结论

希望您已经学会了如何在 WordPress 中复制页面。 我们提到了几个插件,您可以借助它们在 WordPress 中复制页面。 您甚至可以在代码的帮助下复制没有插件的页面。 以类似的方式,您可以在 WordPress 中复制帖子。

附加阅读

  1. 如何删除 WordPress 网站
  2. WordPress 5.5 测试版 1
  3. 如何增加谷歌的网站流量