Come duplicare una pagina WordPress e suggerimenti per i plug-in

Come duplicare una pagina WordPress e suggerimenti per i plug-in

Ci sono numerosi motivi per cui si potrebbe aver bisogno di duplicare una pagina o un post di WordPress.

Hai bisogno di duplicare i post per eseguire gli aggiornamenti dei contenuti? O forse vuoi utilizzare un layout specifico per una nuova pagina del tuo sito WordPress?

Qualunque sia la ragione, esistono diversi modi per duplicare un post e una pagina in WordPress. Questo tutorial illustra i diversi metodi per duplicare un articolo o una pagina su WordPress, sia con che senza plugin.

Duplicazione di una pagina o di un post con un plugin di WordPress

Potresti pensare di copiare e incollare manualmente il tuo articolo o la tua pagina di WordPress per creare un duplicato. Inoltre, WordPress ora fornisce l’opzione “copia tutto il contenuto” all’interno del suo editor di blocchi. Tuttavia, per duplicare pagine e articoli, questo processo non è ideale.

Quando duplichi manualmente un post o una pagina su WordPress, copierai solo il testo del contenuto. Ciò significa che dovrai copiare separatamente il modello della pagina, le immagini e gli elementi SEO come le meta-descrizioni e i tag title.

Il processo non solo richiederà molto tempo, ma sarà anche frustrante se hai molti articoli, pagine o tipi di articoli personalizzati da duplicare.

La duplicazione di una pagina o di un post può anche danneggiare la tua posizione nelle classifiche di ricerca. Tuttavia, a volte è necessario duplicare i contenuti e riutilizzarli come template per un nuovo post o una pagina del tuo sito WordPress.

Fortunatamente, con l’aiuto di un plugin per la duplicazione dei post, è possibile duplicare facilmente pagine o post senza doversi preoccupare di commettere errori.

Dai un’occhiata alla nostra selezione dei migliori plugin WordPress per duplicare post, pagine e tipi di post personalizzati. Inoltre, ti mostreremo come utilizzarli:

1. Plugin Duplicate Post

Banner del plugin Yoast Duplicate Post WordPress

Il plugin Duplicate Post di Yoast è una delle opzioni migliori per duplicare pagine WordPress. Oltre a clonare i post o le pagine, è possibile duplicare anche i commenti, lo slug, l’ordine dei menu e molto altro.

Inoltre, il plugin consente di aggiungere un prefisso o un suffisso al titolo, in modo da sapere quale è l’originale e quale la copia.

Supponiamo di aver impostato “Copia di” come prefisso del titolo. Se duplichi un post intitolato “Cos’è WordPress“, il duplicato si chiamerà “Copia di Cos’è WordPress“.

Per duplicare i contenuti utilizzando il plugin, segui questi semplici passaggi:

  1. Installa il plugin e attivalo.
  2. Accedi alla dashboard di WordPress, poi fai clic su Pagine -> Tutte le pagine (se si desidera duplicare una pagina) o su Post -> Tutti i post (se si intende duplicare un post).
  3. Passa il mouse sulla pagina o sul post che vuoi clonare e vedrai due nuove opzioni: Clona e Nuova bozza.
  4. Fai clic sul link Clona per duplicare il post selezionato, oppure scegli Nuova bozza per creare un nuovo articolo con il contenuto clonato e aprirlo nell’editor di post.

2. Duplicate Page and Post

Banner del plugin Duplicate Page and Post di WordPress

Duplicate Page and Post consente di duplicare rapidamente pagine e articoli su WordPress. Il plugin può duplicare un articolo o una pagina senza modificare il tipo di articolo, il contenuto, il titolo o lo stile.

Utilizzare questo plugin è relativamente facile. È sufficiente seguire i seguenti passaggi per duplicare un post o una pagina su WordPress:

  1. Dopo aver installato e attivato il plugin, vai nel menu Tutte le pagine o Tutti i post della tua dashboard di WordPress, a seconda di ciò che vuoi duplicare.
  2. Passa il mouse sul post o sulla pagina che desideri clonare e fai clic su Duplica.
  3. Il post o la pagina clonati appariranno come una nuova bozza con lo stesso nome dell’originale. Apri la copia per modificare il contenuto.

3. Post Duplicator

Banner del plugin WordPress di Post Duplicator

Il plugin Post Duplicator consente di creare una replica esatta di un post o di una pagina su WordPress, mantenendo anche i campi personalizzati e le tassonomie personalizzate.

Ecco come duplicare un post o una pagina utilizzando il plugin Post Duplicator:

  1. Installa  e attiva il plugin Post Duplicator.
  2. Accedi all’amministrazione di WordPress e trova il post o la pagina che si desidera duplicare.
  3. Fai clic su Duplica post o Duplica pagina.

Ci sono alcune impostazioni che si possono personalizzare per la duplicazione dei post. Vai in Strumenti -> Post Duplicator e imposta lo stato del post (bozza, pubblicato o uguale all’originale), il tipo di post e la data del post. È anche possibile regolare il titolo e lo slug del duplicato.

Duplicare pagina WordPress o post senza plugin

Oltre all’uso dei plugin, un altro metodo per duplicare post e pagine è l’aggiunta di codice al file functions.php. Per attivare un link di duplicazione, puoi usare un client FTP, un editor HTML o l’editor di file integrato di WordPress.

Funzioni tema nell'editor del tema di WordPress

Se vuoi usare un editor di file integrato per duplicare i post o le pagine del tuo sito, vai su Aspetto nella tua dashboard di WordPress. Vai su Theme Editor e seleziona Funzioni Tema.

In alternativa, puoi utilizzare il File Manager di Hostinger per configurare il file functions.php.

Vediamo ora le istruzioni passo-passo per duplicare un post o una pagina nel tuo sito WordPress.

Importante! Si consiglia vivamente di eseguire un backup del sito web prima di modificare qualsiasi file di WordPress.

Come duplicare un post tramite il file Functions.php

Per duplicare un post su un sito WordPress, dovrai incollare il seguente frammento di codice nel tuo file functions.php:

/*
 * 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 );

Come duplicare pagina WordPress tramite il file functions.php

Il processo di duplicazione di una pagina WordPress è piuttosto semplice. Tutto ciò che devi fare è sostituire l’ultima riga del codice qui sopra con il seguente snippet

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

Una volta incorporato con successo il codice qui sopra, dovresti vedere un pulsante Duplica nel menu Tutti i post o Tutte le pagine.

Conclusioni

Ci auguriamo che il tutorial e tutti gli strumenti consigliati nell’articolo ti siano utili per la duplicazione di un post o di una pagina WordPress.

La duplicazione di una pagina o di un post su WordPress può essere utile in molti modi. Forse vuoi duplicare la tua pagina attuale per avere dei riferimenti futuri al design del sito web. Oppure, potresti aver bisogno di duplicare un post esistente per riutilizzarlo come template.

Sebbene sia possibile duplicare una pagina o un post manualmente con un copia e incolla, può essere una seccatura se si gestiscono molti contenuti.

Innanzitutto, è possibile duplicare una pagina o un post su WordPress utilizzando un plugin. A questo scopo, si possono scegliere tre diversi plugin: Duplicate Post, Duplicate Page and Post e Post Duplicator.

In secondo luogo, è possibile duplicare post e pagine senza un plugin. Tutto ciò che devi fare è accedere al file functions.php di WordPress e inserire il codice che ti abbiamo fornito. In questo modo si genererà un link duplicato per ogni post e pagina nell’amministrazione di WordPress.

Hai domande, suggerimenti o trucchi per duplicare una pagina o un post su WordPress? Faccelo sapere nella sezione commenti qui sotto!

Author
L'autore

Michela Z.

Michela si focalizza sul condividere le sue conoscenze di hosting e marketing digitale e sull'aiutare le aziende ad avere successo online, con un particolare interesse per la creazione di siti web e di e-commerce. Nel suo tempo libero le piace sedersi davanti un buon libro e ascoltare musica.