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:
- Eklentiyi indirin ve etkinleştirin.
- Ardından Sayfalar -> Tüm Sayfalar bölümünü açın.
- Şimdi kopyalamak istediğiniz sayfa veya yazının üzerine geldiğinizde iki yeni seçenek göreceksiniz – Klonla ve Yeni Taslak.
- 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:
- Duplicate Page and Post eklentisini indirin ve etkinleştirin.
- 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.
- Kopyalamak istediğiniz yazının üzerine gelin ve Clone Me seçeneğine tıklayın.
- Şimdi klonlanan yazı veya sayfaya yönlendirileceksiniz. Düzenledikten sonra Yayınla veya Taslak Olarak Kaydet seçeneklerinden birini kullanın.
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:
- Eklentiyi indirin ve etkinleştirin.
- Kopyalamak istediğiniz yazı veya sayfanın üzerine gelin ve Duplicate Post/Duplicate Page seçeneğine tıklayın.
- Eklenti sayfa veya yazının anında kopyasını oluşturacaktır.
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);
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:
Ş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!
Yorum
Kasım 15 2018
Function.php dosyası ile problemi çözdüm. Teşekkürler bilgi paylaşımı için :)
Eylül 09 2019
Merhaba Wordpress te bulunan yazılarımı kopyalayıp Word ve ya Txt Formatında saklamak istiyorum. Bunu yapan bir eklenti mevcut mu ?