WordPress'te Bir Sayfayı veya Gönderiyi Çoğaltma
Yayınlanan: 2023-02-12WordPress'te bir sayfayı veya gönderiyi çoğaltmak, içeriği basitçe kopyalayıp yapıştırmaktan daha fazlası anlamına gelebilir. Web sitenizi yeniden tasarlarken veya içeriğinizi güncellerken zaman kazanmak için sayfa şablonunu, SEO verilerini ve resimleri de tutabilirsiniz.
Neyse ki, sayfaları ve gönderileri ve bunlarla ilişkili tüm verileri WordPress'te kopyalamak kolay olabilir. Hem eklenti ile hem de eklenti olmadan işi halletmenin basit yolları vardır.
Bu yazıda, bir WordPress yinelenen sayfa klonunun nasıl oluşturulacağına veya güvenli bir şekilde nasıl yayınlanacağına bakacağız ve yardımcı olabilecek bazı eklentileri tanıtacağız. Hemen içeri girelim!
Bu Eklentilerle WordPress'te Bir Sayfayı Kolayca Klonlayın
Bir WordPress eklentisi kullandığınızda WordPress'te bir sayfayı klonlamak çok basittir, çünkü her şey kontrol panelinizde yapılır. Sitenizin kodunu doğrudan değiştirmeyeceğiniz için eklentiler ayrıca bir gönderiyi veya sayfayı çoğaltmanın en güvenli yoludur.
Doğru aracı arıyorsanız, göz atmaya değer dört eklenti burada.
1. Yinelenen Gönderi
WordPress sayfası ve klonlama sonrası için tercih edilen seçeneklerden biri Duplicate Post'tur. Bu popüler eklentinin kullanımı kolaydır ve sayfanın içeriğinden veya gönderiden ilgili yorumlara kadar her şeyi klonlar. Ayrıca, orijinal gönderinizi ve klonu ayırt etmek için bir önek veya sonek seçeneği sunar.
Bu araçla bir WordPress gönderisini çoğaltmak için yapmanız gerekenler:
- Eklentiyi yükleyin ve etkinleştirin.
- WordPress kontrol panelinizde, gönderileri klonlarken Gönderiler > Tümü'ne veya sayfaları klonlarken Sayfalar > Tümü'ne gidin.
- Kopyalamak istediğiniz orijinal sayfaya veya gönderiye gidin ve çoğaltmak için Kopyala'ya tıklayın.
- Birden çok sayfa veya gönderi seçilebilir ve Toplu İşlemleri kullanarak hepsini aynı anda kopyalayabilirsiniz.
2. Yinelenen Sayfa ve Gönderi
Duplicate Page and Post çok fazla özelliğe sahip değildir, ancak bunu hız olarak telafi eder. Bu hafif yinelenen gönderi eklentisi, WordPress'te bir gönderiyi veya sayfayı kopyalamanın en hızlı yollarından biridir ve sitenizi gereksiz zil ve ıslıklarla ağırlaştırmaz.
Bu eklentiyle bir sayfayı veya gönderiyi klonlamak için aşağıdaki adımları kullanın:
- Eklentiyi yükleyin ve etkinleştirin.
- Neyi çoğaltmak istediğinize bağlı olarak Gönderiler > Tümü veya Sayfalar > Tümü seçeneğine gidin.
- Kopyalamak istediğiniz sayfanın veya gönderinin üzerine gelin.
- Çoğalt seçeneğine tıklayın.
3. Yinelenen Sayfa
Duplicate Page, diğer bazı klonlama eklentilerinin sağlamadığı birkaç ek özellik sunar. Bu eklenti gönderileri, sayfaları ve özel gönderi türlerini çoğaltacaktır. Ayrıca, ortaya çıkan kopyaları taslak, beklemede, genel veya özel olarak kaydedebilirsiniz.
Yinelenen Sayfayı kullanmak için yapmanız gerekenler:
- Eklentiyi yükleyin ve etkinleştirin.
- Ayarlarını ihtiyaçlarınızı karşılayacak şekilde yapılandırın.
- Çoğaltmak istediğiniz içeriği bulmak için Sayfalar > Tümü veya Gönderiler > Tümü seçeneğine gidin.
- Bunu Çoğalt seçeneğine tıklayın.
4. Post Çoğaltıcı
Başka bir basit klonlama eklentisi Post Duplicator'dur. Bu çözüm, özel gönderi türleri, özel alanlar ve özel taksonomiler dahil olmak üzere herhangi bir gönderi veya sayfanın tam bir kopyasını oluşturur. Kullanımı hızlı ve kolaydır ve sitenize fazla ağırlık eklememelidir.
Bu araçla içeriği çoğaltmak için şu adımları izleyin:
- Eklentiyi yükleyin ve etkinleştirin.
- Kopyalamak istediğiniz içeriği bulmak için Gönderiler > Tümü veya Sayfalar > Tümü seçeneğine gidin.
- Gönderinin veya sayfanın üzerine gelin.
- Yinelenen Sayfa veya Yinelenen Gönderi seçeneğine tıklayın.
Eklenti Olmadan WordPress'te Bir Sayfayı Çoğaltmak
Elbette, bir sayfayı klonlamak veya WordPress'te yayınlamak için bir eklenti kullanmanız gerekmez. Bu, funtions.php dosyasını düzenleyerek veya ilgili kodu kopyalayıp yapıştırarak manuel olarak da yapılabilir. Her iki yöntemin de nasıl çalıştığına bakalım.
1. funtions.php Kodu ile Klonlamayı Etkinleştirin
Bir WordPress sayfasını veya gönderisini klonlamanın manuel yollarından biri, functions.php dosyanızdaki kodu düzenlemektir. Bunu yapmak kolay olsa da, dikkatli olmanız ve önce web sitenizin yedeğini almanız gerekir.
Gönderiler için klonlamayı etkinleştirmek için, functions.php dosyanıza erişmeniz ve Güvenli Dosya Aktarım Protokolü (FTP) veya tercih ettiğiniz başka bir yöntemi kullanarak düzenleme için açmanız gerekir. Ardından, aşağıdaki kod parçacığını dosyanın sonuna eklemeniz gerekir:

/*
* 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 );
Sayfalar için de klonlamayı etkinleştirmek üzere aynı kodu kullanın ancak son satırı şununla değiştirin:
add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
Bundan sonra, dosyayı kaydedebilir ve sunucunuza yeniden yükleyebilirsiniz. Ardından WordPress panonuza geri dönebilirsiniz. Kopyalamak istediğiniz bir sayfanın veya gönderinin üzerine geldiğinizde artık bir Çoğalt düğmesi görünmelidir.
2. Bir Sayfayı Çoğaltmak için Kodu Manuel Olarak Kopyala ve Yapıştır
Eğer functions.php dosyanızı düzenlemek istemiyorsanız, klonlamak istediğiniz sayfanın veya gönderinin kodunu manuel olarak kopyalayıp yapıştırabilirsiniz. Bunu yapmak için yapmanız gerekenler:
- Çoğaltmak istediğiniz sayfayı veya gönderiyi açın.
- Diğer Araçlar ve Seçenekler menüsüne tıklayın.
- Kod Düzenleyici'yi seçin.
- Sayfa veya gönderi için kodu kopyalayın.
- Yeni Gönderi veya Yeni Sayfa'ya tıklayın.
- Yeni gönderide veya sayfada Kod Düzenleyici'yi açın.
- Kodu yapıştırın.
- Diğer Araçlar ve Seçenekler menüsüne tıklayın.
- Görsel Düzenleyici'yi seçin.
- Yeni sayfa veya gönderi artık eskisinin bir kopyası olmalıdır.
Bu işlem biraz zaman alabilir ve kopyalamak istediğiniz her sayfa veya gönderi için ayrı ayrı yapmanız gerekir. Bu nedenle, çok sayıda içeriği çoğaltmak istiyorsanız bir WordPress yinelenen sayfa eklentisi kullanmanızı öneririz.
WP Engine ile Öğrenmeye Devam Edin
Sayfa klonlama ile WordPress deneyiminizi kolaylaştırmak kolaydır. Sayfaları veya gönderileri WordPress siteleri arasında taşımak ve hatta geliştirme ortamlarını kopyalamak gibi zamandan tasarruf etmenin birçok başka yolu vardır.
WP Engine'de, müşterileri için harika bir dijital deneyim oluşturmak isteyen geliştiriciler için en iyi kaynakları sunuyoruz. Hemen başlamak için planlarımıza göz atın!