WordPress Sayfasını / Gönderisini Kolayca Nasıl Çoğaltırsınız

Yayınlanan: 2021-11-05
wordpress'te yinelenen içerik

Mevcut sayfa veya gönderi içeriğinizi çoğaltmak birçok durumda faydalı olabilir. Ana gönderiyi/sayfayı şablon olarak kullanabilir ve görevinizi hızlıca tamamlayabilirsiniz. Aynı sayfanın/yazının içeriğini yeniden oluşturmak zorunda kalsaydınız, bunun ne kadar zamana mal olacağını düşünebiliyor musunuz?

Bunu hayal edemiyorum. Neyse ki, WordPress sayfasında/yazısında içeriği çoğaltmanın yolları var. Bu yazıda, WordPress sayfasını/yazısını anında nasıl çoğaltacağınızı göstereceğim.

Başlayalım o zaman.

İçindekiler
  • Neden WordPress Sayfasını / Gönderisini Çoğaltmalısınız?
  • Eklenti ile WordPress'te Yinelenen İçerik
  • Eklenti Olmadan WordPress Yinelenen Sayfa / Gönderi
  • Son sözler

Neden WordPress Sayfasını / Gönderisini Çoğaltmalısınız?

Sayfanıza veya gönderinize bazı yeni değişiklikler getirirken, sayfayı/gönderiyi hızlı bir şekilde kopyalamanız gerekebilir.

Örneğin, çok sayıda bölümü olan bir satış sayfanız var; şimdi aynı satış sayfasını farklı bir ürün için tekrar oluşturmanız gerekiyor ne yapacaksınız? Tüm sayfa yeniden oluşturulsun mu?

Tabii ki değil. Aynı sayfayı çoğaltarak elde edebileceksiniz. Hemen üzerinde çalışmaya başlayabilir ve zamandan tasarruf edebilirsiniz. WordPress sayfasını/yazısını iki şekilde çoğaltabilirsiniz – 1. Eklenti ile, 2. Eklenti olmadan.

Eklenti ile WordPress'te Yinelenen İçerik

Yinelenen Sayfa, Gönderi Çoğaltıcı, Yinelenen sayfa ve Gönderi, Sayfa ve Herhangi Bir Özel Gönderi gibi birkaç eklenti vardır; Bu, WordPress sayfasını/yayınını anında çoğaltmanıza yardımcı olur. Ancak en popüler olanı Yoast Duplicate Post.

İlk olarak, WordPress eklentileri dizininden Yoast Duplicate Post eklentisini kurun ve etkinleştirin.

Kontrol panelinden, Gönder -> Tüm Gönderiler'e gidin. (Bir sayfayı çoğaltmak için Sayfalar -> Tüm Sayfalar'a gidin)

Şimdi imlecinizi herhangi bir gönderinin üzerine getirdiğinizde iki yeni seçenek göreceksiniz – 'Klonla ve Yeni Taslak'.

Şimdi gönderiyi çoğaltmak için klonla düğmesine tıklayın.

Ancak, bir klon oluşturmak ve hemen yazı düzenleyicide açmak istiyorsanız, 'Yeni Taslak' düğmesine tıklayın.

Eklenti Olmadan WordPress Yinelenen Sayfa / Gönderi

Yüklü eklenti sayısının artmasını istemiyorsanız bu yöntemi uygulayabilirsiniz. Çok basit, tek yapmanız gereken bazı kodları function.php dosyasına kopyalamak ve ardından WordPress sayfasını/yazılarını çok kolay bir şekilde çoğaltabileceksiniz.

Not: Herhangi bir WordPress dosyasını düzenlemeden önce web sitenizi yedeklemeniz önerilir.

İlk önce Görünüm -> Tema Düzenleyici'ye gidin ve 'Tema İşlevleri'ne tıklayın. Şimdi aşağıdaki kodu kopyalayın ve buraya yapıştırın.

 /* * 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 );

Dosyayı Güncellemeyi Unutmayın.

Yukarıdaki kod, gönderileri çoğaltmak için çalışacaktır. Sayfaları çoğaltmak istiyorsanız, son satırı aşağıdaki kodla değiştirmeniz yeterlidir:

 add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Son sözler

Umarım şimdi WordPress sayfasını/yazısını çoğaltmanın kolay yolunu bulmuşsunuzdur. Eklenti kullanıp kullanmadığınız önemli değil; her iki şekilde de aynı sonucu alacaksınız. Herhangi bir sorunuz veya öneriniz varsa, aşağıdaki yorum kutusu aracılığıyla bana bildirin.