如何復製或複製 WordPress 頁面或帖子
已發表: 2021-01-01如何復制頁面或帖子
- 安裝 Labinator Content Types Duplicator 插件。
- 轉到您的儀表板。
- 轉到頁面或帖子。
- 將鼠標懸停在頁面或帖子上。
- 點擊“克隆”。
介紹
您的頁面和帖子是您 WordPress 網站的基礎。 這使得了解如何輕鬆編輯和創建它們變得至關重要。 複製是一個了不起的工具,因為它不僅可以讓您複製現有的東西,還可以創建可以克隆以創建內容的模板。
複製可以顯著加快您的工作流程,讓您的工作效率更高。 儘管設置起來似乎很困難,但啟用克隆或獲取這些插件之一來幫助您複製頁面或帖子非常容易。 在本教程中,我將向您展示如何在沒有插件的情況下克隆內容以及如何使用插件來克隆它們。
無插件複製
首先,本節將向您展示如何在沒有插件的情況下進行操作。 使用您添加到您的functions.php文件中的此代碼可以手動啟用克隆。 為此,您需要能夠使用FTP或cPanel訪問您的 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 現在已啟用頁面和帖子的複制。 此方法將允許您像插件一樣複製頁面和帖子。 要復制頁面或帖子,請按照以下步驟操作:
- 轉到您的WordPress 儀表板。
- 轉到頁面或帖子。
- 將鼠標懸停在要復制的頁面或帖子上。
- 點擊複製。
此方法的唯一缺點是您不能批量複製頁面或帖子或使用特殊設置。 插件允許更多的可定制性和選項,以了解您希望如何復制頁面或帖子。 在下一節中,我將向您展示如何使用插件來複製頁面或帖子。
使用插件複製
如果您想為您的帖子、頁面、媒體文件、菜單、小部件和任何自定義內容類型提供多合一的複制器,那麼我們自己的免費插件將是您的完美選擇。 “Labinator 內容類型複制器” 。 這個插件非常輕巧、快速、易於使用,並且可以使用自定義設置複製頁面或帖子。 這個插件是最好的,因為它可以通過一次安裝在一個地方完成所有事情。
“Labinator Content Types Duplicator”正如它所說的那樣,它允許你在 WordPress 上複製任何你想要的內容類型。 這個免費的插件提供了一些額外的功能和很多內容複製的能力。 在此處查看如何使用該插件:
- 首先,安裝並激活插件。
- 轉到Pages或Posts ,具體取決於您想要的。
- 將鼠標懸停在要克隆的頁面或帖子上。
- 點擊克隆。
如您所見,借助這個方便的插件,您可以通過四個簡單的步驟複製頁面或帖子。 這個插件是克隆頁面和帖子的一個非常好的選擇,無需付出太多努力。 雖然這不是這個插件唯一能夠做的事情。 在下一節中,我將向您展示如何使用自定義設置複製內容。
使用自定義設置複製
自定義復制的最佳方法是使用名為“Labinator Content Types Duplicator”的插件。 如前所述,這個插件在復制方面幾乎可以做任何事情。 這還包括某些內容類型的自定義復制。 該插件有一個內置頁面,允許您更改內容類型、訪問權限和添加其他設置。
該插件通過提供整個設置屏幕而不是一個按鈕來做到這一點。 該插件已經在各自的區域提供了用於復制小部件和媒體的選項。 設置屏幕允許您設置要用於更改頁面和帖子復制方式的標準。 在此處查看如何使用它:
- 轉到您的WordPress 儀表板。
- 轉到設置。
- 然後轉到Labinator 內容類型複制器。
第一個菜單允許您更改正在克隆的內容以及克隆的方式。 您可以更改可以復制的內容以及正在復制的元素。 此頁面還允許您更改克隆內容的後綴和前綴。
插件屏幕上的第二個和第三個菜單允許您更改插件的權限和顯示選項。 權限選項卡允許您授予站點上某些管理員和用戶的訪問權限。 顯示選項允許您更改內容鏈接的顯示位置。
現在您知道如何在 WordPress 中使用插件、不使用插件和自定義設置來複製頁面或帖子。 使用此過程,您將能夠根據自己的喜好輕鬆複製和克隆頁面或帖子。 如果你想要更多很棒的插件,那麼你應該看看這個網站!
WordPress 解決方案的最佳場所
必須處理技術問題和錯誤可能會使使用 WordPress 變得痛苦。 雖然我們為您提供完美的解決方案!
我們的頂級 WordPress 解決方案涵蓋了從主題和插件到實時支持的所有內容。 有我們在您身邊,您將在幾天內擁有一個乾淨、優化和完善的網站!
在這裡查看我們!
WordPress 指南
WordPress指南和清單的最佳集合
我們完整且最新的 WordPress 指南和資源集合,涵蓋了充分利用 WordPress 網站所需的一切。
全部下載!
我們所有的指南都將發送到您的收件箱