如何在 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 上關注我們。