Manchmal wirst du auf eine Situation stoßen, in der du einen neuen Beitrag oder eine neue Seite erstellen möchtest, die identisch (oder fast identisch) mit einem bestehenden Beitrag oder einer bestehenden Seite in deiner Website ist.

Wenn der Beitrag oder die Seite lang ist oder viele Medien enthält, kann der Prozess des Hinzufügens all dieser Inhalte von neuem sehr mühsam erscheinen. Auch wenn du viele Beiträge hast, die sich sehr ähnlich sind, wird es sehr frustrierend sein, entweder den gesamten Text manuell eingeben zu müssen oder alle Mediendateien hinzuzufügen, um deine neuen Beiträge oder Seiten zu erstellen.

Eine Möglichkeit könnte darin bestehen, den bestehenden Beitrag (aus Gründen der Übersichtlichkeit werden wir „post“ verwenden, um hier auf Beiträge und Seiten zu verweisen) in einem Browserfenster oder einer Registerkarte zu öffnen, dann deinen neuen Beitrag in einem anderen Fenster zu erstellen und zwischen den beiden zu wechseln, indem wir deinen Inhalt kopieren und einfügen. Schließlich machen aktuelle (Post-Gutenberg) Versionen von WordPress dies ganz einfach, mit der Option „Alle Inhalte kopieren“.

Aber wenn man das immer wieder tun muss, besteht die Gefahr von Fehlern. Was passiert, wenn du versehentlich den ursprünglichen Beitrag bearbeitest und den Inhalt überschreibst, den du bereits auf deiner Website veröffentlicht hast? Oder wenn du eine große Anzahl von Beiträgen zu kopieren hast und du den Überblick verlierst, welche du erstellt hast?

Es kann ein potenzieller Kopfschmerz sein.

Zum Glück gibt es einen einfacheren Weg. Es gibt kostenlose Plugins, mit denen du Duplikate deiner Beiträge und Seiten erstellen kannst, so dass du sie bearbeiten und optimieren kannst, um neue Beiträge zu erstellen, die fast identisch mit deinen bestehenden Inhalten sind.

In diesem Beitrag werden wir dir einige der Methoden zeigen, die du verwenden kannst, um dies zu tun, und einige der besten Plugins für die Aufgabe hervorheben.

Aber zuerst zeigen wir dir, wie du eine Seite oder einen Beitrag in WordPress auf halbmanuelle Weise duplizieren kannst, ohne ein Plugin. Dies beinhaltet das Kopieren und Einfügen, aber WordPress macht es so einfach, das zu tun, wenn du nur einen Beitrag zu kopieren hast, wird es wahrscheinlich schneller sein, als ein Plugin zu installieren und es so zu machen.

Wie man eine Seite oder einen Beitrag in WordPress dupliziert, auf halbmanuelle Weise

Diese Methode kann schneller sein, wenn du nur einen Beitrag duplizieren musst, da du so Zeit bei der Installation eines Plugins sparst. Wenn du einen Haufen Beiträge zu duplizieren hast, würde ich ernsthaft empfehlen, diesen Abschnitt zu überspringen: Du wirst es viel schneller finden, ganz zu schweigen von der Genauigkeit, ein Plugin zu verwenden.

Also für diejenigen von euch, die nur einen Beitrag oder eine Seite duplizieren müssen, hier ist, wie man es macht.

Zuerst öffnest du deinen bestehenden Beitrag oder deine bestehende Seite. Vergewissere dich, dass du keinen einzelnen Block ausgewählt hast, indem du außerhalb eines Blocks in deinem Beitrag klickst oder die Registerkarte Dokument im Bearbeitungsfenster rechts neben dem Bildschirm auswählst. Wenn du einen Block ausgewählt hast, kopiert WordPress einfach den Inhalt dieses Blocks und nicht das gesamte Dokument.

Klicke nun auf die Ellipse oben rechts im Bearbeitungsbildschirm (drei Punkte übereinander angeordnet).

Die „Alles kopieren“ Funktion in WordPress
Die „Alles kopieren“ Funktion in WordPress

Es erscheint ein Menü. Unten in diesem Menü findest du die Option Alle Inhalte kopieren.

n. Klicke darauf und du bekommst eine Nachricht, dass dein Inhalt kopiert wurde.

Erstelle nun deinen neuen Beitrag. Gib deinem Beitrag einen Titel und klicke dann in den ersten leeren Block, der für dich auf dem Bearbeitungsbildschirm erstellt wurde. Benutze die Tastenkombinationen zum Einfügen auf deiner Tastatur (Strg + V auf einem PC, Cmd + V auf einem Mac, oder klicke mit der rechten Maustaste und wähle Einfügen im angezeigten Kontextmenü.

Der Inhalt deines älteren Beitrags wird nun in deinem neuen Beitrag angezeigt. Magie! (OK, vielleicht auch nicht.)

Jetzt kannst du diesen Beitrag bearbeiten und ihn vom älteren Beitrag unterscheiden. Das ist etwas, was ich dringend empfehle – es macht nicht viel Sinn, Blog-Posts zu haben, die genaue Duplikate voneinander auf deiner Seite sind. Es wird nicht nur die Besucher verwirren, sondern ist auch schlecht für das SEO.

Aber was ist, wenn du mehrere Duplikate deines Beitrags erstellen willst? Weiterlesen…..

Wie man eine Seite dupliziert oder in WordPress mit einem Plugin posten kann.

Der mit Abstand schnellste, einfachste und zuverlässigste Weg, Beiträge zu duplizieren, ist die Verwendung eines Plugins. Dies spart dir Zeit, vermeidet menschliche Fehler und erlaubt es dir, jeden beliebigen Posttyp zu kopieren. Tatsächlich ist es unserer Erfahrung nach bei benutzerdefinierten Posttypen üblicher, Beiträge zu duplizieren. Es ist ungewöhnlich, zwei Blog-Posts zu haben, die fast identisch sind, aber es ist durchaus üblich für Produkte in einem Geschäft, zum Beispiel.

Hier sind also einige Plugins, die den Prozess der Duplizierung von Beiträgen einfach machen, und eine Anleitung, wie man sie verwendet.

WooCommerce

Du fragst dich vielleicht, warum ich WooCommerce hier aufgenommen habe, da es sich um ein E-Commerce-Plugin und nicht um ein Post-Duplizierungs-Plugin handelt.

Aber es ist interessant zu wissen, dass WooCommerce es dir ermöglicht, Produkte zu duplizieren, ohne ein zusätzliches Plugin zu installieren. Also, bevor du anfängst, nach einem Plugin für die Post-Duplikation zu suchen und dieses zu verwenden, um deine Produkte zu duplizieren, benutze einfach die Funktionen, die mit WooCommerce mitgeliefert werden.

Wenn du zum Hauptbildschirm für Produkte in WooCommerce gehst und mit der Maus über ein Produkt fährst, siehst du unter diesem Beitrag einen Duplikat-Link.

Die WooCommerce Produkt duplizieren Option
Die WooCommerce Produkt duplizieren Option

Klick einfach auf den Link Duplikat und ein neues Produkt wird erstellt. Du wirst direkt zum Bearbeitungsbildschirm für das neue Produkt weitergeleitet, damit du Änderungen vornehmen und es dann veröffentlichen kannst.

Es ist erwähnenswert, dass der Slug für das neue Produkt der Slug für das alte Produkt mit dem hinzugefügten -copy sein wird, so dass du selbst wenn du den Titel des neuen Produkts änderst, auch den Slug bearbeiten musst.

Das Bearbeiten eines duplizierten Produkts
Das Bearbeiten eines duplizierten Produkts

Duplicate Post Plugin

Duplicate Post ist das beliebteste Plugin zum Duplizieren von Beiträgen mit über 3 Millionen Downloads.

Sobald du es aktiviert hast, fügt es jedem Beitrag im Hauptbildschirm der Beiträge im WordPress-Administrator einen Klonlink hinzu.

Das Duplicate Post Plugin
Das Duplicate Post Plugin

Klick auf den Link Klonen unter dem Beitrag, den du duplizieren möchtest, und ein neuer Beitrag mit dem gleichen Inhalt und Titel sowie einem Entwurfstatus wird für dich erstellt.

Du kannst dann diesen neuen Beitrag bearbeiten und ihm einen neuen Titel geben (was ich dir dringend empfehlen würde – WordPress lässt dich zwar doppelte Titel erstellen, aber es ist nicht sehr gut für die Benutzerfreundlichkeit).

Es fügt auch den gleichen Klon-Link zu Seiten und für benutzerdefinierte Posttypen hinzu (wenn Sie sie in den Einstellungen aktivieren).

Seite duplizieren

Das Duplicate Page Plugin hat über 900.000 Downloads und ist eine Alternative zum Duplicate Post Plugin oben.

Sobald du das Plugin installiert hast, gehe zum Admin-Bildschirm Beiträge oder Seiten oder zum Admin-Bildschirm für deinen benutzerdefinierten Beitragstyp, und du findest unter jedem Beitrag einen Duplikat-Link. Hier ist meine mit einem benutzerdefinierten Posttyp:

Das Duplicate Page Plugin
Das Duplicate Page Plugin

Klicke auf den Link und du bekommst einen neuen Beitrag (oder eine Seite oder einen Beitrag deines benutzerdefinierten Beitragstyps) mit dem gleichen Inhalt und Titel wie der ursprüngliche Beitrag, mit dem Status Entwurf. Du musst es bearbeiten und seinen Slug ändern, bevor du es veröffentlichst.

Hinweis: Wenn du WooCommerce verwendest, wird der Duplikat Link von diesem Plugin nicht auf deinem Produktbildschirm angezeigt. WooCommerce überschreibt es mit einem eigenen Duplikat-Link, den ich bereits in diesem Beitrag beschrieben habe.

Wie man Beiträge oder Seiten in großen Mengen dupliziert

Die Plugins, die ich bereits erwähnt habe, ermöglichen es dir, Beiträge nacheinander zu duplizieren. Aber was ist, wenn du alle Beiträge in deiner Website oder alle Beiträge eines benutzerdefinierten Beitragstyps duplizieren musst? Oder vielleicht alle Beiträge, die du dieses Jahr veröffentlicht hast?

Das WP Bulk Post Duplicator Plugin lässt dich genau das tun. Anstatt einen Link hinzuzufügen, um einzelne Beiträge zu duplizieren, bietet es dir einen Einstellungsbildschirm, mit dem du Beiträge in großen Mengen nach von dir festgelegten Kriterien duplizieren kannst.

Hinweis: Dieses Plugin wurde zum Zeitpunkt der Erstellung zwei Jahre lang nicht aktualisiert, daher empfehlen wir dir, es auf einer Entwicklungsseite zu installieren und zu testen, bevor du es auf einer Live-Seite verwendest. Wir haben es auf unserem Testfeld ohne Probleme eingesetzt.

Nachdem du das Plugin installiert hast, gehe zu Einstellungen > WP Bulk Post Duplicator, um den Einstellungsbildschirm für das Plugin anzuzeigen.

Wähle zunächst die zu duplizierenden Posttypen sowie den Poststatus aus. Wenn du also Beitrag und veröffentlicht auswählst, dupliziert das Plugin alle deine veröffentlichten Beiträge. Wenn du stattdessen Beiträge und Entwurf auswählst, dupliziert es einfach alle deine Entwürfe.

Massenduplizierung Einstellungen – Post Typ und Status
Massenduplizierung Einstellungen – Post Typ und Status

Scrolle nach unten und wähle das Jahr der Beiträge, die du duplizieren möchtest (dies ist optional). Du kannst dann auch den Status der neu erstellten Beiträge angeben. Wenn du hier nichts auswählst, wird standardmäßig Draft gewählt.

Massenduplizierung Einstellungen – Jahr und Veröffentlichungsstatus
Massenduplizierung Einstellungen – Jahr und Veröffentlichungsstatus

Klicke auf die Schaltfläche Duplizieren und das Plugin dupliziert deine Beiträge. Hier siehst du alle meine Seiten dupliziert, mit 12 bestehenden veröffentlichten Seiten und 12 neuen Entwurfsseiten. Dann muss ich alle Seiten durcharbeiten und bearbeiten, bevor ich sie veröffentliche. Das wird natürlich Zeit brauchen, aber es wurde durch die Bulk-Duplizierung schneller gemacht.

Schreibe dein eigenes Post Duplication Plugin

Was passiert, wenn du kein Plugin eines Drittanbieters verwenden möchtest, um Beiträge zu duplizieren, und du lieber deinen eigenen Code erstellen möchtest?

Kein Problem. Befolge einfach diese Schritte, um dein eigenes Plugin für die Postduplikation zu erstellen.

1. Einrichten des Plugins

Beginne mit der Einrichtung des Plugins. Füge eine neue Datei zu deinem wp-content/plugins Ordner hinzu und füge diesen auskommentierten Text hinzu (du kannst deine bearbeiten, um deinen Autorennamen wiederzugeben):

<?php
/*
Plugin Name: Kinsta Duplicate posts and pages
Plugin URI: https://kinsta.com
Description: Plugin to accompany kinsta posst on duplicating posts in WordPress. Allows for duplication of posts and pages.
Version: 1.0
Author: Rachel McCollin
Author URI: https://rachelmccollin.com
TextDomain: kinsta
License: GPLv2
*/

2. Erstellen der Funktion

Füge nun die Funktion zum Duplizieren von Beiträgen hinzu und hänge sie an einen Aktionshaken. Dieser Action-Hook existiert noch nicht: keine Sorge, wir werden ihn in Kürze erstellen.

function kinsta_duplicate_post(){
}
add_action( 'admin_action_kinsta_duplicate_post', 'kinsta_duplicate_post' );

Lasst uns nun diese Aktion erstellen, die als Teil einer Funktion zum Hinzufügen des Duplikationslinks zu den Bildschirmen der Beiträge und Seiten kommt.

function kinsta_duplicate_post_link( $actions, $post ) {
 if ( current_user_can( 'edit_posts') ) {
  $actions['duplicate'] = 'Duplicate';
 }
 return $actions;
}
add_filter( 'post_row_actions', 'kinsta_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'kinsta_duplicate_post_link', 10, 2);

Das wird den Link zum Duplizieren hinzufügen, aber es wird noch nichts duplizieren.

3. Hinzufügen von Duplikationsfunktionen

Lasst uns den Code für die Vervielfältigung hinzufügen. Der gesamte Rest des Codes geht in Ihre leere kinsta_duplicate_post() Funktion.

Zuerst überprüfen wir, ob ein gültiger Beitrag ausgewählt wurde und prüfen auf einen Ausfall, zur Sicherheit:

global $wpdb;

// Die if post not selected
if (! ( isset( $_GET['post']) || isset( $_POST['post'])  || ( isset($_REQUEST['action']) && 'kinsta_duplicate_post' == $_REQUEST['action'] ) ) ) {
 wp_die( __( 'Please select a post to duplicate.', 'kinsta' ) );
}

// Verify nonce
if ( ! isset( $_GET['duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) {
 return;
}

Jetzt müssen wir die ID des zu duplizierenden Postens zusammen mit seinen Daten holen:

// Get id of post to be duplicated and data from it
$post_id = ( isset( $_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );
$post = get_post( $post_id );

Wir können damit ein Array von Argumenten definieren und einen neuen Beitrag in die Datenbank einfügen, indem wir wp_insert_post() verwenden, aber zuerst müssen wir eine bedingte Anweisung hinzufügen, um zu überprüfen, ob der Beitrag nicht null ist:

if ( isset( $post ) && $post != null ) {

}

Fügt dies in diese bedingte Anweisung ein:

// args for new post
$args = array(
 'comment_status' => $post->comment_status,
 'ping_status'    => $post->ping_status,
 'post_author'    => $post->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 new post
$new_post_id = wp_insert_post( $args );

Jetzt holen wir die Taxonomien aus dem alten Beitrag und fügen sie dem neuen hinzu:

// add taxonomy terms to the new post

// identify taxonomies that apply to the post type
$taxonomies = get_object_taxonomies( $post->post_type );

// add the taxonomy terms to the new post
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 );
}

Und dann werden wir zusätzliche Post-Metadaten mit Hilfe einer SQL-Abfrage hinzufügen:

// use SQL queries to duplicate postmeta
$post_metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
if ( count( $post_metas )!=0 ) {
 
$sql_query = "INSERT INTO $wpdb->postmeta ( post_id, meta_key, meta_value ) ";
 
foreach ( $post_metas as $post_meta ) {
  $meta_key = $post_metas->meta_key;
  if( $meta_key == '_wp_old_slug' ) continue;
  $meta_value = addslashes( $post_metas->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 );

}

Schließlich überprüfen wir, um welchen Beitrag es sich handelt und leiten ihn auf den entsprechenden Bildschirm weiter.

// redirect to admin screen depending on post type
$posttype = get_post_type( $post_id );
wp_redirect( admin_url( 'edit.php?post_type=' . $posttype ) );

Nun, außerhalb der Klammern für die if if ( isset( $post ) && $post != null ) Prüfung, fügen wir eine Fehlermeldung hinzu:

else {
 // display an error message if the post id of the post to be duplicated can't be found
 wp_die( __( 'Post cannot be found. Please select a post to duplicate.', 'kinsta' ) );
}

Das ganze Plugin

Hier haben für den gesamten Code für das Plugin:

<?php /* Plugin Name: Kinsta Duplicate posts and pages Plugin URI: https://kinsta.com Description: Plugin to accompany kinsta posst on duplicating posts in WordPress. Allows for duplication of posts and pages. Version: 1.0 Author: Rachel McCollin Author URI: https://rachelmccollin.com TextDomain: kinsta License: GPLv2 */ /******************************************************************** kinsta_duplicate_post() - duplicates the selected post *********************************************************************/ function kinsta_duplicate_post(){ global $wpdb; // Die if post not selected if (! ( isset( $_GET['post']) || isset( $_POST['post'])  || ( isset($_REQUEST['action']) && 'kinsta_duplicate_post' == $_REQUEST['action'] ) ) ) { wp_die( __( 'Please select a post to duplicate.', 'kinsta' ) ); } // Verify nonce if ( ! isset( $_GET['duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) { return; } // Get id of post to be duplicated and data from it $post_id = ( isset( $_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) ); $post = get_post( $post_id ); // duplicate the post if ( isset( $post ) && $post != null ) { // args for new post $args = array( 'comment_status' => $post->comment_status,
'ping_status'    => $post->ping_status,
'post_author'    => $post->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 new post
$new_post_id = wp_insert_post( $args );

// add taxonomy terms to the new post

// identify taxonomies that apply to the post type
$taxonomies = get_object_taxonomies( $post->post_type );

// add the taxonomy terms to the new post
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 );

}

// use SQL queries to duplicate postmeta
$post_metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");

if ( count( $post_metas )!=0 ) {
 
 $sql_query = "INSERT INTO $wpdb->postmeta ( post_id, meta_key, meta_value ) ";

 foreach ( $post_metas as $post_meta ) {

  $meta_key = $post_metas->meta_key;
  if( $meta_key == '_wp_old_slug' ) continue;
  $meta_value = addslashes( $post_metas->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 );

 }

 // redirect to admin screen depending on post type
 $posttype = get_post_type( $post_id );
 wp_redirect( admin_url( 'edit.php?post_type=' . $posttype ) );

 } else {

  // display an error message if the post id of the post to be duplicated can't be found
  wp_die( __( 'Post cannot be found. Please select a post to duplicate.', 'kinsta' ) );
 }

}
add_action( 'admin_action_kinsta_duplicate_post', 'kinsta_duplicate_post' );

// Add the duplicate link to action list for post_row_actions
function kinsta_duplicate_post_link( $actions, $post ) {

 if ( current_user_can( 'edit_posts') ) {
  $actions['duplicate'] = 'Duplicate';
 }

 return $actions;

}
add_filter( 'post_row_actions', 'kinsta_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'kinsta_duplicate_post_link', 10, 2);

Du kannst das vollständige Plugin auch auf github finden.

Herzlichen Glückwunsch! Du hast jetzt dein eigenes Plugin, um Beiträge und Seiten in deiner WordPress-Seite zu duplizieren.

Hinweis: Dieser Code wurde teilweise mit Bezug auf einen Beitrag im Hostinger-Blog geschrieben.

Zusammenfassung

Die Verwendung eines Plugins zum Duplizieren von Beiträgen und Seiten kann schneller sein als die manuelle Bearbeitung und kann das Risiko von Fehlern beim Kopieren von Inhalten beseitigen.

Wenn du nur einen Beitrag zu kopieren hast, findest du es vielleicht schneller, die eingebaute Funktion „Alle Inhalte kopieren“ in WordPress zu verwenden, aber für mehr als einen Beitrag lohnt es sich, ein Plugin zu verwenden. Wenn du eines der oben aufgeführten Plugins verwendest oder vielleicht dein eigenes programmierst, kannst du so viele Beiträge, Seiten oder benutzerdefinierte Posttypen duplizieren, wie du willst.

Wenn du es auf diese Weise machst, sparst du Zeit und (was noch wichtiger ist), entfernst du das Risiko, deinen ursprünglichen Beitrag versehentlich zu bearbeiten, obwohl du den doppelten Beitrag hätten bearbeiten sollen.