WordPress Sayfa Kopyalama Nasıl Yapılır

WordPress Sayfa Kopyalama Nasıl Yapılır

Daha önce sitenizdeki içeriği gelecekte kullanmak üzere olduğu gibi saklayarak sayfanızı yeni bir tasarım ile güncellemek istediğiniz bir durumla karşılaştınız mı? Elbette tüm içeriği kopyala yapıştır yaparak taslak şeklinde kaydedebilirsiniz ancak bu işlem SEO optimizasyonunu, sayfa taslaklarını, öne çıkan görselleri ve diğer ilgili verileri kapsamaz.

Diğer yandan mevcut blog veya sayfanızın bir kopyasını oluşturarak çeşitli yenilikler deneyip bu yenilikleri eski haliyle karşılaştırmak isteyeceğiniz durumlar olabilir. WordPress sayfa kopyalama için açıkçası oldukça sınırsız nedenler olabilir!

WordPress’de sadece tek tıkla bir sayfa veya yazıyı kopyalamak varken kopyala yapıştır ile zaman kaybetmenize gerek yoktur. Bu rehberde en kolay yöntem olduğundan eklentiler aracılığıyla WordPress’de bir sayfayı nasıl kopyalayabileceğimizi öğreneceğiz.

Hadi başlayalım.

Nelere ihtiyacınız olacak

Bu rehbere başlamadan önce aşağıdakilere sahip olmalısınız:

  • WordPress Admin Paneli Erişimi

Seçenek 1 – Duplicate Post Eklentisiyle WordPress Sayfa Kopyalama

Duplicate Post eklentisi, WordPress’de bir sayfa veya yazı kopyalamanın en kolay yöntemlerinden birisidir. Bir klon oluşturmanızı sağlamakla kalmaz aynı zamanda kendi özelleştirme seçeneklerinizi de eklemenize olanak tanır. Önceden tanımlanmış ekler klon sayfa veya yazıya eklenebilir. Dahası, kullanıcı rollerini baz alarak eklentinin işlevselliğini yönetebilirsiniz.

Bu eklentiyi kullanarak yazı veya sayfa kopyalama için aşağıdaki adımları takip edin:

  1. Eklentiyi indirin ve etkinleştirin.Duplicate Post Eklentisi
  2. Ardından Sayfalar -> Tüm Sayfalar bölümünü açın.
  3. Şimdi kopyalamak istediğiniz sayfa veya yazının üzerine geldiğinizde iki yeni seçenek göreceksiniz – Klonla ve Yeni Taslak.WordPress Sayfa Klonlama ve Taslaklama Seçeneği
  • Klonla seçeneğine tıklayarak seçili yazının klon versiyonunu oluşturabilirsiniz.
  • Yeni Taslak seçeneğine tıklarsanız seçili yazının klon sürümünü oluşturur ve bu klonu yazı editöründe açarsınız. Burada arzu ettiğiniz düzenlemeleri gerçekleştirerek kaydetmeyi veya yayınlamayı seçebilirsiniz.

Seçenek 2 – Duplicate Page and Post Eklentisiyle Sayfa/Yazı Kopyalama

Duplicate Page and Post, sayfa ve yazıları kopyalamak için kullanabileceğiniz bir başka eklentidir. Bu eklenti, tüm içeriğin, başlığın, sayfanın veya yazının formatını koruyarak yeni kopyalar oluşturabilmenizi sağlıyor.

Bu eklentiyi kullanmak oldukça kolaydır. Sadece aşağıdaki adımları takip etmeniz yeterli:

  1. Duplicate Page and Post eklentisini indirin ve etkinleştirin.Duplicate page and post eklentisi
  2. Ardından bir sayfa kopyalamak istiyorsanız Sayfalar -> Tüm Sayfalar bölümünü, veya bir yazı kopyalamak istiyorsanız Yazılar -> Tüm Yazılar bölümünü açın.
  3. Kopyalamak istediğiniz yazının üzerine gelin ve Clone Me seçeneğine tıklayın.WordPress Sayfa Klonlama Ekranı Görüntüsü
  4. Şimdi klonlanan yazı veya sayfaya yönlendirileceksiniz. Düzenledikten sonra Yayınla veya Taslak Olarak Kaydet seçeneklerinden birini kullanın.WordPress Kopya Sayfa Düzenlemesi

Seçenek 3 – Post Duplicator Kullanarak WordPress Sayfa Kopyalama

Eğer yukarıdaki iki eklenti ihtiyaçlarınızı karşılamadıysa Post Duplicator kullanmayı deneyebilirsiniz. Bu eklenti özel alan ve sınıflandırmalarla birlikte seçili yazının birebir aynısını kopyalayabiliyor.

Tüm yapmanız gereken:

  1. Eklentiyi indirin ve etkinleştirin.
    WordPress Post Duplicator Eklentisi
  2. Kopyalamak istediğiniz yazı veya sayfanın üzerine gelin ve Duplicate Post/Duplicate Page seçeneğine tıklayın.WordPress Sayfa Kopyalama Ekranı
  3. Eklenti sayfa veya yazının anında kopyasını oluşturacaktır.WordPress Kopya Sayfa Örneği

Seçenek 4 – Eklenti Kullanmadan WordPress Sayfa veya Yazı Kopyalama

Not: Herhangi WordPress dosyasını değiştirmeden önce sitenizin yedeğini oluşturmanızı şiddetle tavsiye ediyoruz.

Eklenti kullanımı dışında, WordPress sayfa veya yazı kopyalama işlemi için kodlamadan da yardım alabilirsiniz. Eğer programlamayla ilgilenen biriyseniz, bu seçenek tam size göre. Öyle olmasanız da sorun değil, siz de öğreneceksiniz. Aşağıda gördüğünüz kod satırlarını kullanarak WordPress sayfa kopyalamayı etkinleştirebilirsiniz:

/*
 * 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( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );

Bu satırlar sadece yazıları kopyalamaya yarıyor ancak son satırı aşağıdaki ile değiştirerek sayfa kopyalama işlemine çevirebilirsiniz:

add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
WordPress Sayfa Kopyalama Fonksiyonu Ekleme

Tüm yapmanız gereken bu kodu functions.php dosyasına yapıştırmak. Bunu yapabilmek için Dosya Yöneticisi, FTP istemcisi veya dahili WordPress editörünü kullanabilirsiniz:

WordPress Sayfa veya Yazı Kopyalama Butonu

Şimdi Tüm Yazılar veya Tüm Sayfalar bölümünü açtığınızda Duplicate butonu görüyor olmalısınız.

Eğer bu butona tıklarsanız, WordPress sayfa veya yazının kopyasını oluşturarak taslak olarak kaydeder.

Sonuç

Eminiz ki bu eklentileri daha önce nasıl duymadığınızı sorguluyorsunuzdur. Geç olsun güç olmasın! Umuyoruz ki anlatımımız tüm sorularınızı cevaplamıştır ve artık WordPress de nasıl sayfa kopyalayacağınızı biliyorsunuz. Yukarıda bahsedilen tüm eklentiler sadece hızlı değil aynı zamanda güvenilirlerdir. Niçin birkaç tıklama da bu işlemi halledebilecekken değerli zamanınızı harcayasınız?

Herhangi bir sorunuz, görüşünüz veya fikriniz mi var? Yorumlar bölümünde bizimle paylaşın!

Daha fazla WordPress rehberler ve anlatımları için devasa WordPress kategorimize göz atmayı unutmayın!

Author
Yazar

Gürkan M.

Gürkan, Amerikan Kültürü ve Edebiyatı mezunu ve Hostinger’da pazarlama asistanı olarak içerik yönetimi, dijital pazarlama ve çevirilerden sorumlu. Küçük yaşta tanışıp o günden bu yana hayatının büyük bir parçası olan internette web geliştirme ve özel olarak WordPress konularıyla yakından ilgileniyor. Ayrıca, pervasız bir gamer.