Webstick.info logo Wordpress, Webdesign, SEO - Blog

Wordpress Seiten/Beiträge duplizieren [2022]

Wordpress Seiten duplizieren


Eine Seite oder ein Beitrag kann in WordPress dupliziert werden. Dies ist mehr als nur das Kopieren und Einfügen von Inhalten. Um Zeit und Mühe bei der Aktualisierung oder Neugestaltung Ihrer Website zu sparen, können Sie die Seitenvorlage, SEO-Daten, Bilder und andere Informationen beibehalten. Es ist einfach, Seiten, Beiträge und alle zugehörigen Daten in WordPress zu duplizieren. Sie können den Job mit oder ohne Plugin erledigen. In diesem Artikel erfahren Sie, wie Sie Seiten oder Beiträge sicher klonen und Plugins vorstellen, die Ihnen helfen können. Lass uns anfangen!

Seite in WordPress mit Plugins duplizieren

Ein Plugin macht es einfach, eine Seite in WordPress zu klonen. Alles wird in Ihrem Dashboard erledigt. Da Plugins den Code Ihrer Website nicht ändern, sind sie die beste Möglichkeit, eine Seite oder einen Beitrag zu duplizieren. Diese Plugins sind einen Blick wert, wenn Sie nach dem richtigen Tool suchen.

1. Duplicate Post

Duplicate Post ist eine beliebte Wahl für das Klonen von WordPress-Seiten oder Posts. Das Plugin ist einfach zu bedienen und kopiert alles, vom Post- oder Seiteninhalt bis hin zu den Kommentaren. Sie können auch ein Präfix oder Suffix verwenden, um zwischen dem ursprünglichen Beitrag und dem Klon zu unterscheiden.

Sie können einen Beitrag mit diesem Tool ganz einfach duplizieren, indem Sie einfach:

  1. Installieren Sie das Plugin und aktivieren Sie es.
  2. Gehen Sie zu Beiträge > Alle, um Beiträge oder Seiten zu klonen > Zum Klonen von Seiten.
  3. Um die gesuchte Seite oder den gesuchten Beitrag zu kopieren, navigieren Sie zu dieser und klicken Sie auf Klonen.
  4. Sie können mehrere Seiten oder Beiträge auswählen und mit Massenaktionen alle gleichzeitig klonen.

2. Duplicate Page

Duplicate Page hals ein paar zusätzliche Funktionen, die andere Klonsoftware nicht bietet. Dieses Plugin kann Seiten, Beiträge und benutzerdefinierte Beitragstypen duplizieren. Sie können die resultierenden Kopien auch in Entwürfen als ausstehend, öffentlich und privat speichern.

Sie können einen Beitrag mit diesem Tool ganz einfach duplizieren, indem Sie einfach:

  1. Installieren Sie das Plugin und aktivieren Sie es.
  2. Sie können die Einstellungen an Ihre Bedürfnisse anpassen.
  3. Um den gesuchten Inhalt zu finden, gehen Sie zu Seiten > Alle und Beiträge > Alle.
  4. Klicken Sie auf die Option Diese kopieren.

3. Duplicate Page and Post

Duplicate Page and Post hat nicht viele Funktionen, aber es macht dies in der Geschwindigkeit wett. Dieses Plugin ist leicht und schnell. Es wird Ihre Website nicht mit zu vielen Optionen verlangsamen.

Sie können einen Beitrag mit diesem Tool ganz einfach duplizieren, indem Sie einfach:

  1. Installieren Sie das Plugin und aktivieren Sie es.
  2. Sie können die Posts All und Pages All finden, je nachdem, was Sie duplizieren möchten.
  3. Klicken Sie auf die Seite oder den Beitrag, den Sie klonen möchten.
  4. Klicken Sie auf die Schaltfläche Duplizieren.


Doppelte Seite in WordPress ohne Plugins

Um eine WordPress-Seite oder einen WordPress-Beitrag zu klonen, musst du kein Plugin verwenden. Sie können dies auch manuell tun, indem Sie die Datei functions.php bearbeiten oder den entsprechenden Code kopieren und einfügen. Werfen wir einen Blick auf diese beiden Methoden.

1. Klonen über die functions.php aktivieren

Das Bearbeiten des Codes in Ihrer Datei function.php ist eine Möglichkeit, WordPress-Seiten oder -Beiträge zu klonen. Obwohl dies eine einfache Aufgabe ist, sollten Sie vorsichtig sein und eine Sicherungskopie Ihrer Website erstellen, bevor Sie dies tun. Sie müssen auf den Ordner functions.php zugreifen und ihn zum Bearbeiten öffnen. Sie müssen diesen Codeausschnitt dann am Ende Ihrer Datei 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( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );

Das war bisher nur für Posts. Um dasselbe für Seiten tun zu können, verwenden Sie den gleichen Code noch einmal in Ihrer functions.php, aber ersetzen Sie die letzte Zeile (108) durch:


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

Seien Sie weise und installieren Sie eines dieser Plugins dafür, da es der einfachste Weg ist und auch das bearbeiten Ihres functions.php überlebt Theme-Upgrades nur, wenn Sie ein Child-Theme verwenden.


Dieser Link gibt Ihnen heute mindestens 10% Rabatt auf das Divi-theme!

Divi