WordPress'te Sayfaları Düzgün Şekilde Çoğaltmak (2 yolla)

Yayınlanan: 2022-09-23

WordPress sitenizdeki her sayfayı manuel olarak çoğaltarak zaman kaybetmeyin. Çok sayıda sayfayı çoğaltmak gibi bir niyetiniz varsa, WordPress'te Sayfaları kolay ve zaman kazandıran bir şekilde çoğaltmak için size 2 çözüm gösterelim.

WordPress'te Sayfaları ne zaman çoğaltmanız gerekir?

Bazen, farklı içeriği ancak aynı sayfa düzeninde sergilemek için WordPress'teki sayfaları çoğaltmanız gerekir. Bunu manuel olarak yapabilirsiniz, bu da şablonu ve meta açıklamalar ve başlık etiketleri dahil SEO öğelerini kopyalamanız gerektiği anlamına gelir. Ve bu işlem birçok kez tekrarlanır, bu da zamanınızı ve çabanızı alır.

Daha kullanışlı ve zaman kazandıran ancak yine de oldukça etkili olan başka bir çözüme ihtiyacınız varsa, eklentiler veya function.php dosyası aracılığıyla WordPress'te yinelenen sayfalar sizin için bir öneridir. Bugün size bununla ilgili ayrıntılı talimatlar getirmek istiyoruz. Başlayalım!

WordPress'te Sayfalar nasıl çoğaltılır

Aslında, WordPress'te sayfaları çoğaltmanın iki temel yöntemi vardır. Birincisi, bunu yapmak için WordPress Duplicator Plugins kullanmaktır. Bir diğeri de, yinelenen sayfalar ve hatta yinelenen gönderiler oluşturmak için function.php dosyasına kod eklemektir.

Ancak, hedeflerinize ulaşmak için bir eklenti seçmenizi öneririz. Tema dosyası düzenleyicisine kod eklemek bazen WordPress siteniz için bir hataya neden olur ve her şey karmaşık hale gelir. Bu nedenle, güvenli bir çözüm bulmanız sizin için iyi bir fikirdir.

WordPress'te Sayfaları çoğaltmak için eklentileri kullanma

Dürüst olmak gerekirse, mevcut piyasada, WordPress'te sayfaları çoğaltmanıza yardımcı olacak çok sayıda kullanışlı eklenti görünmektedir. Ancak, kullanımı kolay ve etkili iki eklenti sunmak istiyoruz: Yoast Duplicate Post ve Duplicate Page and Post.

Şimdi, WordPress siteniz için Yoast Duplicate Post kullanmak için ayrıntılı talimata bir göz atalım.

  • WordPress yönetici kontrol panelinize giriş yapın -> Eklentilere Git -> Yeni Ekle .
  • Yoast Duplicate Post'u bulun -> Yükleyin ve etkinleştirin .
  • Yönetici panosunda, Sayfayı Aç -> Tüm Sayfalar'ı seçin.
  • Çoğaltmak istediğiniz sayfayı seçin, 2 yeni seçenek olacak: Klonla ve Yeni Taslak .
  • WordPress'te sayfaları çoğaltmayı umuyorsanız , Klonla düğmesine tıklamanız yeterlidir. Kopyalanan içeriği içeren yeni bir sayfa oluşturmanız gerekirse, Yeni Taslak seçeneğini seçelim.

Wordpress'te Sayfaları Çoğaltmak İçin Yoast Yinelenen Gönderi

Geçerli sayfayı klonlamanıza yardımcı olacak başka bir eklenti, Duplicate Page and Post . Aşağıdaki adımı takip edelim:

  • WordPress yönetici kontrol panelinize giriş yapın -> Eklentilere Git -> Yeni Ekle .
  • Yinelenen Sayfa ve Gönderiyi Ara -> Yükleyin ve etkinleştirin .
  • Açık Sayfa -> Tüm Sayfalar'a erişin.
  • Kopyalamanız gereken sayfaya tıklayın, bunu yapmanız için Çoğalt seçeneği görünecektir. Üzerine bastıktan sonra, içeriği düzenlemeniz için yeni bir taslak mevcut olacaktır.

Wordpress'te Sayfaları Çoğaltmak İçin Yinelenen Sayfa ve Gönderiyi Kullanın

WordPress'te Sayfaları çoğaltmak için Functions.php Dosyasını Kullanma

WordPress'te sayfaları çoğaltmanın ikinci yolu, kodu Functions.php dosyasına eklemektir. Bunun için Appearance -> Theme File Editor -> Functions.php dosyasını açalım.

Functions.php Üzerinden Wordpress'te Yinelenen Sayfalar

Şimdi, function.php dosyasına aşağıdaki kod parçacığını ekleyerek WordPress'teki sayfaları çoğaltmanın zamanı geldi:

/*
* Function for post duplication. Dups appear as drafts. 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;


/*
* get the original post id
*/
$post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );
/*
* and all the original post data then
*/
$post = get_post( $post_id );


/*
* if you don't want current user to be the new post author,
* then change next couple of lines to this: $new_post_author = $post->post_author;
*/
$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'] = '<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('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Sarmak

Kısacası, yukarıdaki WordPress'te sayfaları çoğaltmak için iki yöntemden birini izleyerek sayfaları klonlarken zamandan tasarruf edelim. Konularla ilgili herhangi bir sıkıntınız varsa, size destek olabilmemiz için neden aşağıya yorumunuzu bırakmıyorsunuz?

Son olarak, pazar yerimizin çok sayıda mobil uyumlu ve göz alıcı Ücretsiz WordPress Teması sunduğunu unutmayın. Bu nedenle, WordPress siteniz için yeni bir tema almanız gerekiyorsa bunları kaçırmayın!