So duplizieren Sie Seiten in WordPress richtig (mit 2 Möglichkeiten)

Veröffentlicht: 2022-09-23

Verschwenden Sie keine Zeit damit, jede Seite Ihrer WordPress-Site manuell zu duplizieren. Wenn Sie beabsichtigen, viele Seiten zu duplizieren, zeigen wir Ihnen 2 Lösungen, um Seiten in WordPress auf einfache und zeitsparende Weise zu duplizieren.

Wann müssen Sie Seiten in WordPress duplizieren?

Manchmal müssen Sie Seiten in WordPress duplizieren, um unterschiedliche Inhalte zu präsentieren, aber im selben Seitenlayout. Sie können dies manuell tun, was bedeutet, dass Sie die Vorlage und die SEO-Elemente einschließlich Meta-Beschreibungen und Titel-Tags kopieren müssen. Und dieser Vorgang wird viele Male wiederholt, was Ihre Zeit und Mühe kostet.

Wenn Sie eine andere Lösung benötigen, die bequemer und zeitsparender, aber dennoch sehr effektiv ist, ist ein Vorschlag für Sie das Duplizieren von Seiten in WordPress über Plugins oder die Datei functions.php. Heute möchten wir Ihnen dazu detaillierte Anweisungen geben. Lass uns anfangen!

So duplizieren Sie Seiten in WordPress

Tatsächlich gibt es zwei Hauptmethoden zum Duplizieren von Seiten in WordPress. Die erste besteht darin, WordPress Duplicator Plugins zu verwenden, um dies zu tun. Und eine andere besteht darin, der Datei functions.php Code hinzuzufügen, um doppelte Seiten oder sogar doppelte Posts zu generieren.

Wir empfehlen jedoch, dass Sie ein Plugin auswählen sollten, um Ihre Ziele zu erreichen. Das Hinzufügen von Code zum Theme-Datei-Editor verursacht manchmal einen Fehler für Ihre WordPress-Site und alles wird kompliziert. Es ist also eine gute Idee für Sie, eine sichere Lösung zu erhalten.

Verwenden von Plugins zum Duplizieren von Seiten in WordPress

Um ehrlich zu sein, erscheinen auf dem aktuellen Markt zahlreiche praktische Plugins, die Ihnen helfen, Seiten in WordPress zu duplizieren. Wir möchten jedoch zwei einfach zu bedienende und effektive Plugins vorstellen: Yoast Duplicate Post und Duplicate Page and Post.

Schauen wir uns nun die detaillierte Anleitung zur Verwendung von Yoast Duplicate Post für Ihre WordPress-Site an.

  • Melden Sie sich bei Ihrem WordPress-Admin-Dashboard an -> Gehen Sie zu Plugins -> Neu hinzufügen .
  • Finden Sie Yoast Duplicate Post -> Installieren und aktivieren Sie es.
  • Wählen Sie im Admin-Dashboard Seite öffnen -> Alle Seiten .
  • Wählen Sie die Seite aus, die Sie duplizieren möchten, es gibt 2 neue Optionen: Klonen und Neuer Entwurf .
  • Wenn Sie Seiten in WordPress duplizieren möchten , klicken Sie einfach auf die Schaltfläche Klonen . Falls Sie eine neue Seite mit kopiertem Inhalt erstellen müssen, wählen wir die Option Neuer Entwurf .

Yoast Duplicate Post einfach, um Seiten in Wordpress zu duplizieren

Ein weiteres Plugin, mit dem Sie die aktuelle Seite klonen können, ist Duplicate Page and Post . Lassen Sie uns den folgenden Schritt befolgen:

  • Melden Sie sich bei Ihrem WordPress-Admin-Dashboard an -> Gehen Sie zu Plugins -> Neu hinzufügen .
  • Suche Duplicate Page and Post -> Install und aktiviere es.
  • Greifen Sie auf Seite öffnen -> Alle Seiten zu .
  • Klicken Sie auf die Seite, die Sie kopieren müssen, die Option Duplizieren wird angezeigt, damit Sie dies tun können. Nachdem Sie darauf geklickt haben, steht Ihnen ein neuer Entwurf zur Bearbeitung des Inhalts zur Verfügung.

Verwenden Sie Seite duplizieren und posten, um Seiten in Wordpress zu duplizieren

Verwenden der Functions.php-Datei zum Duplizieren von Seiten in WordPress

Die zweite Möglichkeit, Seiten in WordPress zu duplizieren, besteht darin, den Code in die Datei Functions.php einzufügen. Öffnen wir dazu Appearance -> Theme File Editor -> Functions.php .

Doppelte Seiten in Wordpress über Functions.php

Jetzt ist es an der Zeit, dass Sie Seiten in WordPress duplizieren, indem Sie das folgende Code-Snippet zur Datei functions.php hinzufügen:

/*
* 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('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Einpacken

Kurz gesagt, sparen wir Zeit beim Klonen der Seiten, indem wir einer der beiden oben genannten Methoden zum Duplizieren von Seiten in WordPress folgen. Wenn Sie Probleme mit Themen haben, hinterlassen Sie unten Ihren Kommentar, damit wir Sie unterstützen können.

Vergessen Sie zu guter Letzt nicht, dass unser Marktplatz zahlreiche mobilfreundliche und auffällige kostenlose WordPress-Themes anbietet. Verpassen Sie sie also nicht, wenn Sie ein neues Design für Ihre WordPress-Site benötigen!