Jak zduplikować stronę lub post w WordPress
Opublikowany: 2021-08-26Szukasz sposobu na zduplikowanie strony WordPress, posta lub innego rodzaju treści?
Możliwość łatwego powielania treści WordPress może być przydatna we wszystkich sytuacjach, od masowego tworzenia podobnych treści po aktualizowanie starszych treści po poprawianie projektu i nie tylko.
Jednak w wielu przypadkach chodzi o coś więcej niż tylko kopiowanie i wklejanie tekstu między różnymi stronami. Oprócz utworzonej treści możesz również chcieć zachować jej projekt i ustawienia posta, takie jak kategorie, tagi, autor, niestandardowe pola i inne metadane.
W tym poście przedstawimy obszerny przewodnik, w jaki sposób możesz całkowicie zduplikować stronę WordPress, post i więcej przy użyciu w 100% darmowych rozwiązań.
Na koniec będziesz mógł powielić dowolną treść w swojej witrynie jednym kliknięciem – zaczynajmy.
Spis treści
- Jak zduplikować post lub stronę w WordPress: trzy metody
- Jak zduplikować stronę WordPress za pomocą wtyczki
- Zduplikowany post Yoast
- Zduplikowany post
- WooCommerce
- Jak zduplikować stronę WordPress za pomocą edytora
- Edytor bloków (Gutenberg)
- Elementor
- Jak ręcznie zduplikować stronę WordPress za pomocą kodu
Jak zduplikować post lub stronę w WordPress: trzy metody
Istnieją trzy główne metody, których można użyć do zduplikowania strony WordPress, posta lub innego niestandardowego typu postu:
- Wtyczka – najłatwiejszym sposobem na zduplikowanie posta lub strony jest skorzystanie z jednej z wielu dedykowanych wtyczek (z których większość jest bezpłatna).
- Edytor – w zależności od tego, jak dokładnie chcesz zduplikować treść, możesz użyć samego edytora, jeśli zależy Ci tylko na zduplikowaniu treści i projektu.
- Ręczny kod – dla majsterkowiczów możesz po prostu dodać własny kod do pliku functions.php motywu potomnego.
Omówimy wszystkie trzy metody – przejrzyjmy je…
Jak zduplikować stronę WordPress za pomocą wtyczki
Istnieje wiele wtyczek, które ułatwiają powielanie postów, stron lub innych treści w Twojej witrynie.
Jeśli masz sklep WooCommerce, WooCommerce zawiera własną wbudowaną funkcję do duplikowania produktów – więcej na ten temat poniżej. A jeśli nie, znajdziesz wiele darmowych wtyczek na WordPress.org, w tym następujące:
- Zduplikowany post Yoast
- Zduplikowany post
- Duplikat strony
- Powielacz postów
- Zduplikuj stronę i post
Oprócz WooCommerce pokażemy Ci, jak to działa z dwiema darmowymi wtyczkami z powyższej listy:
- Yoast Duplicate Post , ponieważ jest bardzo łatwy w użyciu i zawiera unikalną funkcję „Rewrite & Republish”, która doskonale nadaje się do aktualizowania istniejących treści.
- Duplikuj post , ponieważ zapewnia bardziej szczegółową kontrolę w niektórych obszarach.
Obie wtyczki są bezpłatne i oba przetestowaliśmy, aby upewnić się, że działają zarówno z projektami Elementora, jak i treściami zbudowanymi za pomocą natywnego edytora WordPress. Wyobrażamy sobie, że wszystkie inne powyższe wtyczki będą również działać z Elementorem, chociaż nie testowaliśmy ich specjalnie.
Zduplikowany post Yoast
Najpierw przyjrzyjmy się Yoast Duplicate Post. Ta wtyczka jest świetna, jeśli chcesz szybko i łatwo powielić posty, strony lub dowolny inny niestandardowy typ postu.
Oprócz możliwości klonowania treści zawiera również unikalną funkcję ponownego zapisu i ponownej publikacji, która pomaga w aktualizowaniu istniejących treści. Zasadniczo ta funkcja umożliwia powielanie treści w celu wprowadzania zmian, a następnie „scalanie” zduplikowanej wersji z powrotem w wersję oryginalną, gdy chcesz wprowadzić zmiany w życie.
Aby rozpocząć, zainstaluj i aktywuj bezpłatną wtyczkę Yoast Duplicate Post z WordPress.org.
Teraz masz kilka różnych sposobów powielania treści.
Najpierw możesz przejść do głównej listy postów lub stron . Jeśli najedziesz kursorem na element na liście, zobaczysz trzy opcje:
- Klonuj – zduplikuj treść i zachowaj kartę przeglądarki na liście postów/stron.
- Nowa wersja robocza – zduplikuj treść i otwórz edytor dla zduplikowanej treści, abyś mógł od razu przystąpić do pracy.
- Przepisz i ponownie opublikuj – jest to przydatna funkcja do aktualizowania starych treści, jak omówiliśmy powyżej. Kluczowa różnica polega na tym, że po zakończeniu pozwoli ci ponownie scalić treść z oryginalnym postem.
Najprostszym podejściem jest po prostu kliknięcie Clone . Następnie na liście pojawi się nowa wersja robocza wpisu dla zduplikowanej treści. Wtyczka oznaczy ją powiadomieniem „Wersja robocza dostosowania”, aby poinformować Cię, że jest to duplikat wersji:
Po drugie, możesz także powielać treść z poziomu edytora WordPress. Te opcje znajdziesz w sekcji Stan i widoczność paska bocznego posta/strony :
Na koniec możesz także zbiorczo duplikować posty lub strony, korzystając z opcji wtyczki w rozwijanym menu akcji zbiorczych na liście Posty lub Strony :
- Użyj pola wyboru, aby zaznaczyć wszystkie posty lub strony, które chcesz zduplikować.
- Wybierz metodę powielania z listy rozwijanej — Klonuj lub Przepisz i opublikuj ponownie .
- Kliknij Zastosuj .
Jeśli chcesz dostosować zachowanie wtyczki, możesz przejść do Ustawienia → Powiel post . Ten obszar pozwala:
- Wybierz treść do zduplikowania.
- Dodaj niestandardowy przedrostek lub sufiks do tytułu zduplikowanej treści.
- Wybierz sposób zamawiania zduplikowanych treści w menu.
- Wybierz typy postów, które mają kwalifikować się do powielania.
- Wybierz, które role użytkowników mają możliwość powielania treści.
- Dostosuj miejsce wyświetlania zduplikowanych linków/przycisków postów.
Zduplikowany post
Duplicate Post pełni tę samą podstawową funkcję, co Yoast Duplicate Post, ponieważ ułatwia szybkie powielanie posta lub strony.
Kilka zalet tej wtyczki w porównaniu z Yoast Duplicate Post to:
- Umożliwia wielokrotne powielanie wpisu/strony za pomocą jednego kliknięcia. Na przykład możesz powiedzieć mu, aby utworzył cztery duplikaty.
- Daje ci trochę większą kontrolę nad tym, jakie treści powielasz między postami.
- Zawiera funkcję skanowania witryny w poszukiwaniu zduplikowanych treści, co jest przydatne do szybkiego znajdowania duplikatów.
- Umożliwia kopiowanie treści między różnymi witrynami sieciowymi WordPress z wieloma witrynami, w tym w subdomenie (chociaż ta funkcja wymaga wtyczki premium o wartości 19,98 USD).
- Daje możliwość konwersji postów na strony i odwrotnie (wymaga również wersji premium).
Jeśli nie potrzebujesz tych funkcji, zalecamy trzymanie się Yoast Duplicate Post, ponieważ jest bardziej popularny i spełnia swoje zadanie. Ale jeśli chcesz tych funkcji, jest to kolejna solidna opcja do rozważenia.
Aby rozpocząć, zainstaluj i aktywuj bezpłatną wtyczkę Duplicate Post z WordPress.org. Jak tylko go aktywujesz, zacznie działać.
Przejdź do listy Posty/Strony i najedź kursorem na fragment treści, który chcesz powielić. Zobaczysz nową opcję Kopiuj . Jeśli najedziesz na to kursorem, rozwiniesz dodatkowe ustawienia, aby wybrać, ile duplikatów chcesz utworzyć i jakich ustawień użyć (więcej o nich za chwilę):
Podobnie jak w przypadku Yoast Duplicate Post, możesz również użyć rozwijanych pól wyboru i działań zbiorczych, aby zbiorczo skopiować wiele postów.
Aby skonfigurować ustawienia wtyczki, możesz przejść do nowej zakładki Kopiuj i usuń posty na pulpicie nawigacyjnym WordPress. Tutaj możesz skonfigurować wszystkie ustawienia, w tym:
- Jakie treści powielać.
- Kto może powielać treści.
- Dla których niestandardowych typów postów włączyć duplikowanie.
- Itp.
Jedną fajną rzeczą jest to, że możesz utworzyć wiele profili ustawień i wybrać konfigurację, której chcesz użyć podczas powielania treści.
Jeśli przewiniesz w dół obszaru ustawień, możesz również znaleźć funkcję skanowania w poszukiwaniu zduplikowanych treści w Twojej witrynie:
Ponownie, jeśli chcesz tylko prostego sposobu powielania treści, zalecamy trzymanie się wtyczki Yoast Duplicate Post. Ale jeśli któraś z tych funkcji przykuła twoją uwagę, Duplicate Post również działa dobrze.
WooCommerce
Jeśli używasz WooCommerce do tworzenia sklepu e-commerce, WooCommerce zawiera własną wbudowaną funkcję do duplikowania produktów – nie ma potrzeby instalowania osobnej wtyczki.
Aby zduplikować produkt, przejdź do obszaru Produkty na pulpicie nawigacyjnym. Następnie najedź kursorem na produkt, który chcesz powielić i kliknij Duplikuj :
Możesz również powielić produkt z poziomu edytora produktów, klikając opcję Kopiuj do nowej wersji roboczej w ustawieniach publikowania :
Uwaga – te opcje pojawiają się tylko na produktach. Jeśli chcesz duplikować posty i strony, musisz zainstalować jedną z powyższych wtyczek.
Jak zduplikować stronę WordPress za pomocą edytora
Jeśli zależy Ci głównie na powielaniu treści/projektu posta lub strony, możesz obejść się bez wtyczki dzięki niektórym wbudowanym funkcjom edytora.
W tej sekcji pokażemy, jak szybko powielić projekt, który stworzyłeś za pomocą natywnego edytora bloków (Gutenberg) lub Elementora.
Należy pamiętać, że obie te metody spowodują jedynie zduplikowanie treści i projektu — konieczne będzie ręczne odtworzenie wszelkich ważnych metadanych, takich jak tytuł, kategorie, tagi, niestandardowe pola itp.
Edytor bloków (Gutenberg)
Aby szybko zduplikować zawartość z edytora bloków, zacznij od otwarcia edytora posta lub strony, którą chcesz powielić.
Kliknij ikonę trzech kropek w prawym górnym rogu, aby rozwinąć menu. Następnie wybierz opcję Kopiuj całą zawartość :
Teraz utwórz nowy post lub stronę. Następnie kliknij edytor i wklej zawartość. Możesz albo:
- Użyj skrótu klawiaturowego, takiego jak Ctrl + V lub Cmd + V .
- Kliknij prawym przyciskiem myszy i wybierz wklej.
W edytorze powinna być widoczna dokładna kopia oryginalnej treści. Musisz jednak pamiętać o ręcznym dodaniu tytułu, kategorii, tagów itp.
Elementor
Uwaga – możesz powielać strony lub posty utworzone za pomocą Elementora za pomocą wtyczek, o których wspomnieliśmy powyżej. Ale jeśli martwisz się głównie powielaniem projektu posta/strony Elementora (a nie innych metadanych, takich jak autor i kategorie), możesz to zrobić za pomocą systemu szablonów Elementora.
Mamy przewodnik, jak zduplikować stronę Elementora, ale oto podstawowa idea.
Najpierw możesz zapisać swój projekt jako szablon z interfejsu edytora Elementor:
Następnie możesz utworzyć nowy post lub stronę i wstawić szablon z biblioteki szablonów Elementora.
Jeśli chcesz zduplikować więcej niż tylko jedną stronę, możesz także skorzystać z funkcji zestawów stron internetowych Elementora, aby wyeksportować/importować kompletne projekty stron internetowych.
Funkcja importu/eksportu Elementora umożliwia importowanie własnych dzieł i tworzenie nowej strony internetowej w kilka sekund. Po prostu utwórz plan, który można wykorzystać w wielu projektach lub ponownie wykorzystaj swoje ulubione dzieło internetowe. Następnie wyeksportuj całą witrynę i zastosuj ją w innych projektach.
Możesz użyć własnego dzieła lub wybrać z naszej biblioteki zestawów stron internetowych stworzonych przez projektantów. Po prostu zastosuj go na swojej stronie internetowej, dodaj zawartość i spersonalizuj ją.
Jak ręcznie zduplikować stronę WordPress za pomocą kodu
Jeśli wolisz podejście typu „zrób to sam” (zrób to sam), możesz również utworzyć własną funkcję powielania strony przy użyciu niestandardowego kodu. Ta metoda nie przynosi żadnych korzyści w porównaniu z trasą wtyczek poza wyeliminowaniem konieczności instalowania kolejnej wtyczki w Twojej witrynie.
Jeśli jednak unikanie innej wtyczki jest dla Ciebie ważne, to podejście jest w porządku i będzie działać ze zwykłymi treściami edytora i Elementorem.
Aby użyć tego kodu, musisz dodać go do pliku functions.php motywu lub wtyczki do zarządzania kodem, takiej jak fragmenty kodu. Jeśli dodasz go do pliku functions.php , upewnij się, że używasz motywu potomnego.
$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>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 );
$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>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 );
$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>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 );
Domyślnie fragment umożliwia duplikowanie zarówno postów, jak i stron. Jeśli chcesz włączyć go tylko dla jednego lub drugiego, możesz usunąć filtr page_row_actions lub post_row_actions na dole fragmentu kodu.
Usprawnij proces tworzenia stron internetowych, powielając strony i posty
Możliwość zduplikowania strony WordPress, posta lub innego typu postu jest bardzo przydatna podczas pracy nad witryną WordPress.
W tym poście udostępniliśmy trzy różne metody, których możesz użyć do powielenia treści.
Dla większości osób najłatwiejszym sposobem pełnego sklonowania posta lub strony jest skorzystanie z bezpłatnej wtyczki Yoast Duplicate Post. Zaczyna działać od razu i współpracuje z edytorem bloków (Gutenberg), Elementorem i edytorem Classic TinyMCE. Działa również ze wszystkimi typami postów, od stron do postów i wszelkimi niestandardowymi typami postów, których możesz używać.
Jeśli masz sklep WooCommerce, możesz również użyć wbudowanej funkcji WooCommerce do powielania produktów. Możesz też dodać niestandardowy kod do swojej witryny, jeśli wolisz nie instalować innej wtyczki.
Wreszcie, jeśli potrzebujesz tylko zduplikować treść/projekt posta, możesz użyć systemu szablonów Elementora lub skorzystać z opcji edytora bloków, aby skopiować całą treść.
Zanim pójdziemy, jedno krótkie przypomnienie. W większości sytuacji nie chcesz publikować zduplikowanych treści, ponieważ może to negatywnie wpłynąć na Twoje SEO. Jeśli więc duplikujesz stronę bez zmiany jej zawartości (może tylko po to, by zmienić adres URL), po zakończeniu warto rozważyć przekierowanie oryginalnej strony.
Czy nadal masz pytania dotyczące powielania strony lub posta WordPress? Daj nam znać w sekcji komentarzy.
Witryna internetowa WP
Natychmiast