WordPress 重複頁面或帖子:如何操作(2021 年)
已發表: 2021-10-26您通常在我們的網站上製作WordPress 重複頁面內容嗎?
在開發網站時,複製頁面或帖子並不常見。 但是,如果您經常重複頁面或帖子,那將是您的明智之舉。
因此,您是否需要一個全新的佈局測試場? 或者也許是為了系統更新和升級? 無論情況如何,您都可以通過多種方法製作 WordPress 副本。 您需要注意的是哪些方法適合您和您的網站。 在本文中,我們很高興為您提供教程來解釋和指導如何在 WordPress 中復制頁面。
在此之前,讓我們先搞清楚:為什麼要復制頁面/帖子。
目錄
WordPress重複頁面:你需要嗎?
好吧,你可以選擇做或不做。 但是,在某些情況下,您將需要站點的副本,例如:
– 用戶正在使用最新版本的主題、插件、WordPress、PHP 或相關內容,而您的網站沒有暫存過程。
– 製作新內容時想要復制以重複使用。
– 您找到了一個理想的佈局,並且想在您的網站上嘗試一下。
– 需要將自定義 CSS/HTML 代碼應用到您的新網站。
如您所見,複製版本將帶來巨大的好處。 好吧,讓我們深入了解複製頁面 WordPress的方法。
手動複製和粘貼內容
簡單地說,您會將內容複製並粘貼到新版本/草稿中。 它看起來很容易接近,我們可以猜到您選擇這種方法的原因:
– 你不知道更快的方法。
– 您的網站沒有很多頁面,也不專注於 SEO。
– 您正在復制一個無法通過您網站的後端訪問的頁面。
由於2和3的原因,我們不得不同意手工複製和粘貼是你們所有人的最佳選擇。 不過,這種方法也有一些缺點。 您無法正確複製圖片、元標記、永久鏈接、自定義 CSS/HTML 和其他元素。
這裡有兩個步驟:
第 1 步:從原始來源製作副本版本
好吧,您可以說 Ctrl+A 將是這裡最重要的因素。 您將要做的是訪問計劃的站點,突出顯示、複製並將其粘貼到您計劃的項目中。
因此,您將直接進入內容。 進入下一步。
第 2 步:刪除 HTML 中的標籤
粘貼內容後,導航到您網站的代碼編輯器。 在這裡,您將刪除所有 和 <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);
完成過程
最後,重新加載並返回屏幕“頁面”。 在該屏幕上,您應該觀察到此頁面上的複制鏈接。 此外,您可以將其用作插件並開發以供以後使用。
因此,這就是如何使用插件在 WordPress 中復制頁面。
為 WordPress 重複頁面選擇正確的方法
您可能認為複制頁面 WordPress很容易。 此外,人們傾向於選擇最好和最快的方法來完成它。 但是,我們建議您根據自己的需求選擇更複雜、更詳細的方法。
顯然,對於只需要復制 WordPress 頁面的人來說,插件是最有利的選擇。 下載並安裝主題後,它將生效,為所有相關問題提供所有功能。 但是,如果您打算進行大量重複,則可以考慮硬編碼解決方案。 另一方面,如果可能,您可能會針對特定目的和目標進行其他選擇。 因此,如果它完全為您服務,那麼您的預算將是值得的。
如何復制 WordPress 頁面:結論
縱觀事物,WordPress 重複頁面對於任何 Web 所有者和開發人員來說都應該是一件容易的事。 根據需求和經驗,每個人都可以選擇不同的方式來完成它。 在這篇文章之後,我們向您展示了複製 WordPress 文章或頁面的 4 種常用方法。 他們的困難從最簡單的到最複雜的。
通過本文,我們相信您將獲得複制 WordPress 頁面的正確解決方案。
閱讀更多:如何創建 WordPress 子主題(2021 年)