So duplizieren Sie WordPress-Seiten/Posts ganz einfach
Veröffentlicht: 2021-11-05
Das Duplizieren Ihrer vorhandenen Inhalte von Seiten oder Beiträgen kann in vielen Situationen nützlich sein. Sie können den Hauptbeitrag/die Hauptseite als Vorlage verwenden und Ihre Aufgabe schnell erledigen. Können Sie sich vorstellen, wie viel Zeit es kosten würde, wenn Sie den Inhalt derselben Seite/dieses Beitrags neu erstellen müssten?
Nun, das kann ich mir nicht vorstellen. Glücklicherweise gibt es Möglichkeiten, Inhalte auf WordPress-Seiten/-Beiträgen zu duplizieren. In diesem Beitrag werde ich Ihnen zeigen, wie Sie WordPress-Seiten/Posts sofort duplizieren können.
Fangen wir also an.
- Warum WordPress-Seite/Beitrag duplizieren?
- Doppelte Inhalte in WordPress mit Plugin
- WordPress Doppelte Seite/Beitrag ohne Plugin
- Letzte Worte
Warum WordPress-Seite/Beitrag duplizieren?
Wenn Sie einige neue Änderungen in Ihre Seite oder Ihren Beitrag einbringen, müssen Sie die Seite/den Beitrag möglicherweise schnell klonen.
Sie haben beispielsweise eine Verkaufsseite mit vielen Abschnitten; Jetzt müssen Sie dieselbe Verkaufsseite für ein anderes Produkt erneut erstellen. Was werden Sie tun? Die ganze Seite neu erstellen?
Natürlich nicht. Sie können genau dieselbe Seite erhalten, indem Sie sie duplizieren. Sie können sofort mit der Arbeit beginnen und Zeit sparen. Sie können WordPress-Seiten/Beiträge auf zwei Arten duplizieren – 1. Mit einem Plugin, 2. Ohne ein Plugin.
Doppelte Inhalte in WordPress mit Plugin
Es gibt ein paar Plugins wie Duplicate Page, Post Duplicator, Duplicate page and Post, Page und Any Custom Post; die Ihnen helfen, WordPress-Seiten/Beiträge sofort zu duplizieren. Aber der beliebteste ist der Yoast Duplicate Post.
Installieren und aktivieren Sie zunächst das Yoast Duplicate Post-Plugin aus dem WordPress-Plugins-Verzeichnis.
Gehen Sie im Dashboard zu Post -> All Post. (Zum Duplizieren einer Seite gehen Sie zu Seiten -> Alle Seiten)
Bewegen Sie nun den Mauszeiger auf einen beliebigen Beitrag, und Sie sehen zwei neue Optionen – „Klonen und Neuer Entwurf“.
Klicken Sie nun auf die Klon-Schaltfläche, um den Beitrag zu duplizieren.
Wenn Sie jedoch einen Klon erstellen und ihn sofort im Post-Editor öffnen möchten, klicken Sie auf die Schaltfläche „Neuer Entwurf“.
WordPress Doppelte Seite/Beitrag ohne Plugin
Wenn Sie die Anzahl der installierten Plugins nicht erhöhen möchten, können Sie dieser Methode folgen. Es ist sehr einfach, alles, was Sie tun müssen, ist, einige Codes in die Datei function.php zu kopieren, und dann können Sie WordPress-Seiten/Beiträge sehr einfach duplizieren.
Hinweis: Bevor Sie eine der WordPress-Dateien bearbeiten, wird empfohlen, zuerst Ihre Website zu sichern.
Navigieren Sie zunächst zu Darstellung -> Themen-Editor und klicken Sie auf „Themenfunktionen“. Kopieren Sie nun den folgenden Code und fügen Sie ihn hier ein.
/* * 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 );
Vergessen Sie nicht, die Datei zu aktualisieren.
Der obige Code funktioniert zum Duplizieren von Beiträgen. Wenn Sie Seiten duplizieren möchten, ersetzen Sie einfach die letzte Zeile durch den folgenden Code:
add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
Letzte Worte
Ich hoffe, Sie haben jetzt die einfache Möglichkeit, WordPress-Seiten/Beiträge zu duplizieren. Es spielt keine Rolle, ob Sie ein Plugin verwenden oder nicht; Sie erhalten auf beiden Wegen das gleiche Ergebnis. Wenn Sie Fragen oder Anregungen haben, lassen Sie es mich über das Kommentarfeld unten wissen.