Jak zduplikować stronę w WordPressie bez wtyczek w 2023 roku

Jeśli używasz WordPress do tworzenia i zarządzania swoją witryną, w pewnym momencie możesz chcieć zduplikować stronę. Być może myślisz, że możesz po prostu skopiować i wkleić całą zawartość na nowej stronie.

Działa to tylko do pewnego stopnia, ponieważ wiele elementów formatowania, takich jak funkcje, obrazy i SEO, zostanie utraconych i trzeba będzie je przerobić. Aby uzyskać więcej informacji na ten temat, możesz zapoznać się z tym artykułem powielanie strony w wordpress.

Co więcej, jeśli chcesz odświeżyć stronę i ją ulepszyć, jeśli zaczniesz edytować istniejącą stronę, zamiast tworzyć duplikat, nie masz żadnego punktu odniesienia. Niezależnie od powodu, dla którego chcesz zduplikować stronę w WordPress, możesz to zrobić na kilka sposobów.

Zarządzany hosting WordPress zapewnia solidne i wydajne środowisko do prowadzenia witryny WordPress, a duplikacja strony bez wtyczki jest prostym zadaniem ręcznym.

Obydwa elementy stanowią część szerszej strategii efektywnego zarządzania witryną WordPress i jej utrzymywania, przy czym hosting zarządzany oferuje siatkę bezpieczeństwa, która uzupełnia zadania ręcznego zarządzania witryną, takie jak duplikowanie stron.

Kopiowanie strony WordPress bez wtyczek

Jeśli nie chcesz używać wtyczki do kopiowania strony WordPress, możesz spróbować coś zmienić kod.

Trochę kodowania

Nie martw się, jeśli nie jesteś guru kodowania (bardzo niewielu z nas jest). Możesz zduplikować strony WordPress, wykonując trochę kodowania, i nie jest to takie trudne. Podamy Ci tutaj kod, więc wystarczy go skopiować i wkleić. Wyjaśnijmy, jak to zrobić.

Dostęp do pliku Functions.php

Aby powielić stronę bez wtyczki, musisz uzyskać dostęp do pliku „functions.php” za pomocą metody kodowania. Istnieją dwie główne metody uzyskiwania dostępu do pliku functions.php.

Pierwsza metoda polega na użyciu klienta FTP, więc najpierw musisz zainstalować FTP Klient. Uruchom klienta FTP, kliknij „połącz” i podaj swoją nazwę użytkownika i hasło, aby połączyć się z serwerem hosta FTP. Następnie możesz uzyskać dostęp do odpowiedniego pliku, przechodząc do „WordPress Root”, następnie „WP Content”, następnie „Themes”, a następnie „Current Themes”, a w końcu przejdziesz do functions.php. Następnie możesz pobrać plik, edytować go w razie potrzeby i przesłać z powrotem do odpowiedniej lokalizacji.

Druga metoda uzyskuje dostęp do pliku functions.php. Możesz dokonać zmian w kodzie, logując się do WordPressa jako administrator, następnie przejdź do edytora wyglądu na pasku bocznym, wybierz motyw, który chcesz edytować, a następnie wybierz funkcję motywów (functions.php), która znajduje się pod „ pliki motywu” w „sekcji szablonów”. Możesz teraz wprowadzić zmiany w kodzie, a kiedy skończysz, po prostu naciśnij przycisk „aktualizuj”.

Teraz wiesz, jak uzyskać dostęp do pliku functions.php, aby móc wprowadzać zmiany w kodzie bez wtyczki; głównym celem jest zduplikowanie strony. Kolejnym krokiem jest wpisanie odpowiedniego kodu, który następnie zduplikuje stronę. Nie martw się, jeśli nie wiesz zbyt wiele o kodowaniu, ponieważ dołączyliśmy niezbędny kod, który możesz po prostu skopiować i wkleić.

/* * Funkcja do powielania postów.  Duplikaty pojawiają się jako wersje robocze.  Użytkownik zostaje przekierowany do ekranu edycji */ function rd_duplicate_post_as_draft(){ global $wpdb; Jeśli (!  ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) { wp_die('Nie podano posta do zduplikowania!'); } /* * Weryfikacja wartości jednorazowych */ if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; /* * pobierz identyfikator oryginalnego wpisu */ $post_id = (isset($_GET['post']) ?  absint( $_GET['post'] ) : absint( $_POST['post'] ) ); /* * i wszystkie oryginalne dane postu */ $post = get_post( $post_id ); /* * jeśli nie chcesz, aby bieżący użytkownik był autorem nowego posta, * zmień kilka następnych linii na: $new_post_author = $post->post_author; */ $bieżący_użytkownik = wp_get_bieżący_użytkownik(); $new_post_author = $bieżący_użytkownik->ID; /* * jeśli dane posta istnieją, utwórz duplikat posta */ if (isset( $post ) && $post != null) { /* * nowa tablica danych posta */ $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' => 'wersja robocza', 'post_title' => $post->post_title, 'post_type ' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order ); /* * wstaw post za pomocą funkcji wp_insert_post() */ $new_post_id = wp_insert_post( $args ); /* * pobierz wszystkie bieżące warunki postów i ustaw je w wersji roboczej nowego postu */ $taxonomies = get_object_taxonomies($post->post_type); // zwraca tablicę nazw taksonomii dla typu post, ex array("category", "post_tag"); foreach ($taksonomie jako $taksonomia) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } /* * powiela wszystkie meta postów tylko w dwóch zapytaniach SQL */ $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 = "WSTAW DO $wpdb->postmeta (post_id, meta_key, meta_value) "; foreach ($post_meta_infos jako $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key == '_wp_old_slug' ) kontynuuj; $meta_value = addlashes($meta_info->meta_value); $sql_query_sel[]= "WYBIERZ $new_post_id, '$meta_key', '$meta_value'"; } $sql_query.= implode("UNION ALL", $sql_query_sel); $wpdb->query($sql_query); } /* * na koniec przekierowanie do ekranu edycji postu dla nowej wersji roboczej */ wp_redirect( admin_url( 'post.php?action=edit&post=' .  $new_post_id ) ); Wyjście; } else { wp_die('Utworzenie posta nie powiodło się, nie można znaleźć oryginalnego postu: ' .  $post_id); } } add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' ); /* * Dodaj zduplikowany link do listy akcji dla post_row_actions */ 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' ) . 

Jeśli chcesz tylko zduplikować post, a nie stronę, zastąp ten ostatni wiersz następującym:

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

Wnioski

Teraz wiesz, jak skopiować stronę WordPress bez wtyczek. Jak widać, są tylko dwa kroki. Najpierw uzyskaj dostęp do pliku functions.php, skopiuj i wklej ten kod do pliku, a następnie zaktualizuj go. To takie proste, a kiedy skończysz, będziesz mieć dokładny duplikat oryginalnej strony.

    0 komentarzy

    Bez komentarza.