日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在WordPress中復(fù)制頁面或文章

薩爾圖網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

有時,您會遇到一種情況,即您想要創(chuàng)建與網(wǎng)站中現(xiàn)有文章或頁面相同(或幾乎相同)的新文章或頁面。

如果文章或頁面很長或包含大量媒體,重新添加所有內(nèi)容的過程似乎非常費力。此外,如果您有很多彼此非常相似的文章,那么必須再次手動輸入所有文本或添加所有媒體文件來創(chuàng)建新文章或頁面會非常煩人。

一種選擇可能是在一個瀏覽器窗口或選項卡中打開現(xiàn)有文章(為方便起見,我們將使用“文章”來指代文章和頁面),然后在另一個窗口中創(chuàng)建新文章并在其中兩個,復(fù)制和粘貼您的內(nèi)容。畢竟,最近(古騰堡)版本的wordpress確實使這變得非常容易,您可以使用“復(fù)制所有內(nèi)容”選項。

但是如果你必須一次又一次地這樣做,就有犯錯的風(fēng)險。如果您不小心編輯了原始文章,覆蓋了您已發(fā)布到網(wǎng)站的內(nèi)容,該怎么辦?或者,如果您要復(fù)制大量文章,而忘記創(chuàng)建了哪些文章?

這可能是一個潛在的頭痛。

  • 如何在WordPress中復(fù)制頁面或文章(半自動)
  • 如何使用插件在WordPress中復(fù)制頁面或文章
  • 如何批量復(fù)制文章或頁面
  • 編寫自己的文章復(fù)制插件

幸運(yùn)的是,有一種更簡單的方法。有可用的免費插件可以讓您復(fù)制您的文章和頁面,因此您可以編輯和調(diào)整它們以創(chuàng)建與您現(xiàn)有內(nèi)容幾乎相同的新文章。

如何在WordPress中復(fù)制頁面或文章:

您可以使用以下插件之一在WordPress中輕松復(fù)制頁面、文章和自定義文章類型:

  • Duplicate Posts: 它在 WordPress 管理中為每個文章/頁面添加一個“克隆”鏈接。
  • Duplicate Page plugin: 它在每個文章、頁面或自定義文章類型下添加一個“復(fù)制此”鏈接。
  • WP Bulk Post Duplicator:此插件允許您批量復(fù)制文章/頁面。

如果您使用WooCommerce并需要復(fù)制您的產(chǎn)品,請將鼠標(biāo)懸停在任何產(chǎn)品上:您會在該產(chǎn)品下看到一個復(fù)制鏈接。

支持在這篇文章中,我們將向您展示一些可以用來執(zhí)行此操作的方法,并重點介紹一些適合該任務(wù)的最佳插件。

但首先,我們將向您展示如何在沒有插件的情況下以半手動方式在WordPress中復(fù)制頁面或文章。這涉及復(fù)制和粘貼,但WordPress使這件事變得如此容易,如果您只有一個文章要復(fù)制,它可能會比安裝插件并這樣做更快。

如何在WordPress中復(fù)制頁面或文章(半自動)

如果您只有一個文章要復(fù)制,這種方法會更快,因為它可以節(jié)省您安裝插件的時間。如果你有一堆文章要復(fù)制,我強(qiáng)烈建議你跳過這一節(jié):你會發(fā)現(xiàn)使用插件更快,更不用說更準(zhǔn)確了。

所以對于那些只需要復(fù)制一篇文章或頁面的人來說,這里是如何做到的。

首先打開您現(xiàn)有的文章或頁面。通過單擊文章上的區(qū)塊外部或選擇屏幕右側(cè)編輯窗格中的“文檔”選項卡,確保您沒有選擇單個區(qū)塊。如果您選擇了一個區(qū)塊,WordPress只會復(fù)制該區(qū)塊的內(nèi)容,而不是整個文檔。

現(xiàn)在單擊編輯屏幕右上角的省略號(三個點排列在一起)。

WordPress中的復(fù)制所有內(nèi)容選項

將出現(xiàn)一個菜單。在此菜單的底部,您將看到“復(fù)制所有內(nèi)容”選項。單擊它,您將收到一條消息,告訴您您的內(nèi)容已被復(fù)制。

現(xiàn)在創(chuàng)建您的新文章。為您的文章命名,然后單擊編輯屏幕上為您創(chuàng)建的第一個空白區(qū)塊。使用鍵盤上的快捷鍵進(jìn)行粘貼(PC 上為 Ctrl + V,Mac 上為 Cmd + V,或右鍵單擊并在出現(xiàn)的快捷菜單中選擇粘貼。

您舊文章的內(nèi)容現(xiàn)在將出現(xiàn)在您的新文章中。

現(xiàn)在您可以編輯該文章并使其與舊文章不同。這是我強(qiáng)烈建議做的事情——在您的網(wǎng)站上發(fā)布彼此完全重復(fù)的博客文章并沒有多大意義。它不僅會使訪問者感到困惑,而且對SEO也不利。

但是,如果您想為文章創(chuàng)建多個副本怎么辦?繼續(xù)閱讀……

如何使用插件在WordPress中復(fù)制頁面或文章

到目前為止,復(fù)制文章最快、最簡單、最可靠的方法是使用插件。這將節(jié)省您的時間,避免任何人為錯誤,并允許您復(fù)制您喜歡的任何文章類型。事實上,根據(jù)我們的經(jīng)驗,復(fù)制文章實際上更常見于自定義文章類型。有兩篇幾乎完全相同的博客文章是不尋常的,但例如,對于商店中的產(chǎn)品來說,這是很常見的。

所以這里有一些插件可以簡化復(fù)制文章的過程,以及如何使用它們的指南。

WooCommerce

您可能想知道為什么我在這里包含WooCommerce,因為它是一個電子商務(wù)插件,而不是一個復(fù)制后插件。

但值得一提的是,WooCommerce允許您在不安裝額外插件的情況下復(fù)制產(chǎn)品。因此,在您開始搜索后復(fù)制插件并使用它來復(fù)制您的產(chǎn)品之前,只需使用WooCommerce捆綁的功能即可。

如果您轉(zhuǎn)到WooCommerce的主產(chǎn)品屏幕并將鼠標(biāo)懸停在任何產(chǎn)品上,您將在該文章下看到一個重復(fù)鏈接。

WooCommerce重復(fù)產(chǎn)品選項

只需單擊該重復(fù)鏈接,就會創(chuàng)建一個新產(chǎn)品。您將被直接帶到新產(chǎn)品的編輯屏幕,以便您可以對其進(jìn)行更改然后發(fā)布。

值得注意的是,新產(chǎn)品的slug將是舊產(chǎn)品的slug加上-copy,所以即使你改變了新產(chǎn)品的標(biāo)題,你也需要編輯slug。

編輯重復(fù)的產(chǎn)品

Duplicate Post插件

Duplicate Post是最受歡迎的文章復(fù)制插件,下載量超過300萬次。

激活它后,它會在WordPress管理員的主文章屏幕中為每個文章添加一個克隆鏈接。

Duplicate Post插件

單擊您要復(fù)制的文章下方的克隆鏈接,將為您創(chuàng)建一個具有相同內(nèi)容和標(biāo)題以及草稿狀態(tài)的新文章。

然后你可以編輯那個新文章并給它一個新的標(biāo)題(我強(qiáng)烈建議你這樣做 – WordPress確實允許你復(fù)制標(biāo)題,但它對用戶體驗不是很好)。

它還為頁面和自定義文章類型添加了相同的克隆鏈接(如果您在設(shè)置中啟用它們)。

Duplicate Page

Duplicate Page插件已經(jīng)有超過90萬下載量,并且是重復(fù)的文章替代上述插件。

安裝插件后,轉(zhuǎn)到“文章”或“頁面”管理屏幕,或轉(zhuǎn)到自定義文章類型的管理屏幕,您會在每個文章下找到“Duplicate This”鏈接。這是我的自定義文章類型:

Duplicate Page插件

單擊該鏈接,您將獲得一個新文章(或頁面,或自定義文章類型的文章),其內(nèi)容和標(biāo)題與原始文章相同,狀態(tài)為草稿。在發(fā)布之前,您需要對其進(jìn)行編輯并修改其slug。

注意:如果您使用WooCommerce,則此插件中的Duplicate This鏈接將不會顯示在您的產(chǎn)品屏幕上。WooCommerce使用我在本文前面描述的自己的Duplicate鏈接覆蓋它。

如何批量復(fù)制文章或頁面

上面提到的插件可以讓您一次復(fù)制一個文章。但是,如果您需要復(fù)制站點中的所有文章或自定義文章類型的所有文章,該怎么辦?或者也許是你今年發(fā)表的所有文章?

WP Bulk Post Duplicator插件可以讓你做到這一點。它沒有添加鏈接來復(fù)制單個文章,而是為您提供了一個設(shè)置屏幕,讓您可以根據(jù)您設(shè)置的條件批量復(fù)制文章。

注意:在撰寫本文時,此插件已有四年未更新,因此我們建議在實際站點上使用之前將其安裝在開發(fā)站點上并對其進(jìn)行測試。

安裝插件后,轉(zhuǎn)到“設(shè)置”>“WP Bulk Post Duplicator”以查看插件的設(shè)置屏幕。

首先選擇要復(fù)制的文章類型以及文章狀態(tài)。因此,如果您選擇已發(fā)布狀態(tài)的post,該插件將復(fù)制您所有已發(fā)布的文章。相反,如果您選擇postsdraft,它只會復(fù)制您的所有草稿文章。

批量復(fù)制設(shè)置 – 文章類型和狀態(tài)

向下滾動并選擇要復(fù)制的文章的年份(這是可選的)。然后,您還可以指定創(chuàng)建的新文章的狀態(tài)。如果您在此處不選擇任何內(nèi)容,它將默認(rèn)為Draft。

批量復(fù)制設(shè)置 – 年份和發(fā)布狀態(tài)

單擊復(fù)制按鈕,插件將復(fù)制您的文章。在這里你可以看到我所有的頁面都被復(fù)制了,有12個現(xiàn)有的已發(fā)布頁面和12個新的草稿頁面。然后,我需要瀏覽所有頁面并在發(fā)布它們之前對其進(jìn)行編輯。這顯然需要時間,但批量復(fù)制使速度更快,

編寫您自己的文章復(fù)制插件

如果您不想使用第三方插件來復(fù)制文章而寧愿自己編寫代碼怎么辦?

沒問題。只需按照以下步驟創(chuàng)建您自己的文章復(fù)制插件。

1. 設(shè)置插件

從設(shè)置插件開始。將一個新文件添加到您的wp-content/plugins文件夾并將此注釋掉的文本添加到其中(您可以編輯您的文件以反映您的作者姓名):


2. 創(chuàng)建函數(shù)

現(xiàn)在添加復(fù)制文章的函數(shù)并將其掛接到動作鉤子上。這個動作鉤子還不存在:別擔(dān)心,我們很快就會創(chuàng)建它。

function wbolt_duplicate_post(){
}
add_action( 'admin_action_wbolt_duplicate_post', 'wbolt_duplicate_post' );

現(xiàn)在讓我們創(chuàng)建該動作,它將作為將重復(fù)鏈接添加到文章和頁面屏幕的功能的一部分。

function wbolt_duplicate_post_link( $actions, $post ) {
 if ( current_user_can( 'edit_posts') ) {
  $actions['duplicate'] = 'Duplicate';
 }
 return $actions;
}
add_filter( 'post_row_actions', 'wbolt_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wbolt_duplicate_post_link', 10, 2);

這將添加用于復(fù)制的鏈接,但它實際上還不會復(fù)制任何內(nèi)容。

3. 添加復(fù)制函數(shù)

讓我們添加復(fù)制代碼。所有其余的代碼都在您的空wb_duplicate_post() 函數(shù)中。

首先,讓我們檢查是否選擇了有效的文章并檢查隨機(jī)數(shù),以確保安全:

global $wpdb;

// Die if post not selected
if (! ( isset( $_GET['post']) || isset( $_POST['post'])  || ( isset($_REQUEST['action']) && 'wbolt_duplicate_post' == $_REQUEST['action'] ) ) ) {
 wp_die( __( 'Please select a post to duplicate.', 'wbolt' ) );
}

// Verify nonce
if ( ! isset( $_GET['duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) {
 return;
}

現(xiàn)在我們需要獲取要復(fù)制的文章的ID及其數(shù)據(jù):

// Get id of post to be duplicated and data from it
$post_id = ( isset( $_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );
$post = get_post( $post_id );

我們可以使用它來定義一個參數(shù)數(shù)組并使用wp_insert_post()將一個新文章插入數(shù)據(jù)庫,但首先,添加一個條件語句來檢查文章是否為空:

if ( isset( $post ) && $post != null ) {

}

在該條件語句中添加以下內(nèi)容:

// args for new post
$args = array(
 'comment_status' => $post->comment_status,
 'ping_status'    => $post->ping_status,
 'post_author'    => $post->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 new post
$new_post_id = wp_insert_post( $args );

現(xiàn)在我們將從舊文章中獲取分類法并將它們添加到新文章中:

// add taxonomy terms to the new post

// identify taxonomies that apply to the post type
$taxonomies = get_object_taxonomies( $post->post_type );

// add the taxonomy terms to the new post
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查詢添加任何額外的文章元數(shù)據(jù):

// use SQL queries to duplicate postmeta
$post_metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
if ( count( $post_metas )!=0 ) {
 
$sql_query = "INSERT INTO $wpdb->postmeta ( post_id, meta_key, meta_value ) ";
 
foreach ( $post_metas as $post_meta ) {
  $meta_key = $post_metas->meta_key;
  if( $meta_key == '_wp_old_slug' ) continue;
  $meta_value = addslashes( $post_metas->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 );

}

最后,我們檢查文章是什么文章類型并重定向到相關(guān)屏幕。

// redirect to admin screen depending on post type
$posttype = get_post_type( $post_id );
wp_redirect( admin_url( 'edit.php?post_type=' . $posttype ) );

現(xiàn)在,在if ( isset( $post ) && $post != null )檢查的大括號外,我們添加一條錯誤消息:

else {
 // display an error message if the post id of the post to be duplicated can't be found
 wp_die( __( 'Post cannot be found. Please select a post to duplicate.', 'wbolt' ) );
}

就是這樣!

完整插件

這是插件的完整代碼:

 $post->comment_status,
'ping_status'    => $post->ping_status,
'post_author'    => $post->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 new post
$new_post_id = wp_insert_post( $args );

// add taxonomy terms to the new post

// identify taxonomies that apply to the post type
$taxonomies = get_object_taxonomies( $post->post_type );

// add the taxonomy terms to the new post
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 );

}

// use SQL queries to duplicate postmeta
$post_metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");

if ( count( $post_metas )!=0 ) {
 
 $sql_query = "INSERT INTO $wpdb->postmeta ( post_id, meta_key, meta_value ) ";

 foreach ( $post_metas as $post_meta ) {

  $meta_key = $post_metas->meta_key;
  if( $meta_key == '_wp_old_slug' ) continue;
  $meta_value = addslashes( $post_metas->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 admin screen depending on post type
 $posttype = get_post_type( $post_id );
 wp_redirect( admin_url( 'edit.php?post_type=' . $posttype ) );

 } else {

  // display an error message if the post id of the post to be duplicated can't be found
  wp_die( __( 'Post cannot be found. Please select a post to duplicate.', 'wbolt' ) );
 }

}
add_action( 'admin_action_wbolt_duplicate_post', 'wbolt_duplicate_post' );

// Add the duplicate link to action list for post_row_actions
function wbolt_duplicate_post_link( $actions, $post ) {

 if ( current_user_can( 'edit_posts') ) {
  $actions['duplicate'] = 'Duplicate';
 }

 return $actions;

}
add_filter( 'post_row_actions', 'wbolt_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wbolt_duplicate_post_link', 10, 2);

恭喜!您現(xiàn)在擁有自己的插件來復(fù)制WordPress網(wǎng)站中的文章和頁面。

小結(jié)

使用插件復(fù)制文章和頁面比手動復(fù)制更快,并且可以消除復(fù)制內(nèi)容時出錯的風(fēng)險。

如果您只有一篇文章要復(fù)制,您可能會發(fā)現(xiàn)使用WordPress中內(nèi)置的“復(fù)制所有內(nèi)容”功能會更快,但對于不止一篇文章,使用插件是值得的。如果您使用上面列出的插件之一,或者自己編寫代碼,您將能夠根據(jù)需要復(fù)制任意數(shù)量的文章、頁面或自定義文章類型。

如果你這樣做,你會節(jié)省時間(更重要的是),當(dāng)你應(yīng)該編輯重復(fù)的文章時,你將消除意外編輯原始文章的風(fēng)險。


網(wǎng)站欄目:如何在WordPress中復(fù)制頁面或文章
文章起源:http://www.dlmjj.cn/article/cdoopic.html