2023'de Eklenti Olmadan WordPress'te Bir Sayfa Nasıl Kopyalanır

Web sitenizi oluşturmak ve yönetmek için WordPress kullanıyorsanız, bir noktada bir sayfayı çoğaltmak isteyebilirsiniz. Tüm içeriği kopyalayıp yeni bir sayfaya yapıştırabileceğinizi düşünüyor olabilirsiniz.

Özellikler, resimler ve SEO gibi biçimlendirmelerinizin çoğu kaybolacağından ve yeniden yapılması gerekeceğinden, bu yalnızca belirli bir ölçüde işe yarar. Bu konu hakkında daha fazla bilgi için şu makaleye göz atabilirsiniz: WordPress'te bir sayfa kopyalama.

Üstelik bir sayfayı yenilemek ve iyileştirmek istiyorsanız, kopya yapmak yerine mevcut sayfayı düzenlemeye başlarsanız, herhangi bir karşılaştırma noktanız kalmaz. WordPress'te bir sayfayı kopyalamaya ihtiyaç duyma nedeniniz ne olursa olsun, bunu yapmanın birkaç yolu vardır.

Yönetilen WordPress barındırma, bir WordPress web sitesini çalıştırmak için sağlam ve verimli bir ortam sağlar; bir sayfayı eklenti olmadan çoğaltmak basit bir manuel iştir.

Her iki öğe de, sayfa çoğaltma gibi manuel site yönetimi görevlerini tamamlayan bir güvenlik ağı sunan yönetilen barındırma ile bir WordPress web sitesini verimli bir şekilde yönetmek ve sürdürmek için daha geniş bir stratejinin parçasıdır.

Eklentiler Olmadan Bir WordPress Sayfasını Kopyalama

Bir WordPress sayfasını kopyalamak için bir eklenti kullanmak istemiyorsanız, bazılarını değiştirmeyi deneyebilirsiniz. kod.

Biraz Kodlama

Bir kodlama gurusu değilseniz endişelenmeyin (çok azımız). Biraz kodlama yaparak WordPress sayfalarını çoğaltabilirsiniz ve bu o kadar da zor değil. Size kodu burada vereceğiz, bu yüzden sadece kopyalayıp yapıştırmanız gerekiyor. Bunun nasıl yapılacağını açıklayalım.

Functions.php Dosyasına Erişim

Eklentisiz bir sayfayı çoğaltmak için, kodlama yöntemiyle “functions.php” dosyasına erişmeniz gerekir. Functions.php dosyasına erişmek için kullanabileceğiniz iki ana yöntem vardır.

İlk yöntem FTP İstemcisi kullanmaktır, bu nedenle önce yüklemeniz gerekir. FTP Müşteri. FTP İstemcisini başlatın, “bağlan”a tıklayın ve FTP ana sunucusuna bağlanmak için kullanıcı adınızı ve şifrenizi girin. Daha sonra “WordPress Root”, ardından “WP Content”, ardından “Themes”, ardından “Mevcut Temalar”a giderek uygun dosyaya erişebilirsiniz ve sonunda function.php'ye ulaşırsınız. Ardından dosyayı indirebilir, gerektiği gibi düzenleyebilir ve uygun konuma geri yükleyebilirsiniz.

İkinci yöntem, functions.php dosyasına erişir. WordPress'te yönetici olarak oturum açarak kodda değişiklik yapabilir, ardından kenar çubuğundaki görünüm düzenleyicisine gidebilir, düzenlemek istediğiniz temayı seçebilir ve ardından "" altında bulunan temalar işlevini (functions.php) seçebilirsiniz. "şablonlar bölümünde" tema dosyaları". Artık kodda değişiklik yapabilirsiniz ve işiniz bittiğinde "güncelle" düğmesine basmanız yeterlidir.

Artık function.php dosyasına nasıl erişeceğinizi biliyorsunuz, böylece bir eklenti olmadan kodda değişiklik yapabilirsiniz; birincil amaç bir sayfayı çoğaltmaktır. Sonraki adım, sayfayı çoğaltacak uygun kodu girmektir. Kodlama hakkında fazla bir şey bilmiyorsanız endişelenmeyin çünkü gerekli kodu ekledik, kopyalayıp yapıştırabilirsiniz.

/* * Post çoğaltma için fonksiyon.  Dup'lar taslak olarak görünür.  Kullanıcı düzenleme ekranına yönlendirilir */ function rd_duplicate_post_as_draft(){ global $wpdb; Eğer (!  ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) { wp_die('Çoğaltılacak gönderi sağlanmadı!'); } /* * Nonce doğrulama */ if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; /* * orijinal gönderi kimliğini al */ $post_id = (isset($_GET['post']) ?  absint( $_GET['post'] ) : absint( $_POST['post'] ) ); /* * ve sonra tüm orijinal gönderi verileri */ $post = get_post( $post_id ); /* * eğer mevcut kullanıcının yeni gönderi yazarı olmasını istemiyorsanız, * sonraki birkaç satırı şununla değiştirin: $new_post_author = $post->post_author; */ $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * gönderi verisi varsa, gönderi kopyası oluşturun */ if (isset( $post ) && $post != null) { /* * yeni gönderi veri dizisi */ $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' => 'taslak', 'post_title' => $post->post_title, 'post_type ' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order ); /* * gönderiyi wp_insert_post() işleviyle ekleyin */ $new_post_id = wp_insert_post( $args ); /* * mevcut tüm gönderi terimlerini alın ve bunları yeni gönderi taslağına ayarlayın */ $taxonomies = get_object_taxonomies($post->post_type); // yazı tipi için sınıflandırma isimleri dizisini döndürür, ex array("category", "post_tag"); foreach ($taksonomileri $taksonomi olarak) { $post_terms = wp_get_object_terms($post_id, $taksonomi, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taksonomi, false); } /* * tüm gönderi metalarını yalnızca iki SQL sorgusunda çoğaltın */ $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' ) devam et; $meta_value = eklerlashes($meta_info->meta_value); $sql_query_sel[]= "$new_post_id, '$meta_key', '$meta_value' öğesini SEÇİN"; } $sql_query.= implode(" BİRLİK TÜMÜ", $sql_query_sel); $wpdb->sorgu($sql_query); } /* * son olarak, yeni taslak için gönderiyi düzenleme ekranına yönlendirin */ wp_redirect( admin_url( 'post.php?action=edit&post=' .  $new_post_id ) ); çıkış; } else { wp_die('Mesaj oluşturulamadı, orijinal gönderi bulunamadı: ' .  $post_id); } } add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft'); /* * post_row_actions için eylem listesine yinelenen bağlantıyı ekleyin */ function rd_duplicate_post_link( $actions, $post ) { if (current_user_can('edit_posts')) { $actions['duplicate'] = '  wp_nonce_url('admin.php?action=rd_duplicate_post_as_draft&post=' .  $post->ID, basename(__FILE__), 'duplicate_nonce' ) . 

Bir sayfayı değil, yalnızca bir gönderiyi çoğaltmak istiyorsanız, o son satırı şununla değiştirin:

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

Sonuç

Artık eklentiler olmadan bir WordPress sayfasını nasıl kopyalayacağınızı biliyorsunuz. Gördüğünüz gibi, ilgili sadece iki adım var. İlk önce function.php dosyasına erişin, bu kodu kopyalayıp dosyaya yapıştırın ve ardından güncelleyin. Bu kadar basit ve işiniz bittiğinde, orijinal sayfanızın tam bir kopyasına sahip olacaksınız.

    0 Yorum

    Yorum Yok