Come duplicare una pagina o un post su WordPress

Pubblicato: 2023-02-12

Duplicare una pagina o un post in WordPress può significare molto di più che semplicemente copiare e incollare il contenuto. Puoi anche conservare il modello di pagina, i dati SEO e le immagini, al fine di risparmiare tempo durante la riprogettazione del tuo sito Web o l'aggiornamento dei contenuti.

Fortunatamente, duplicare pagine e post e tutti i dati associati in WordPress può essere facile. Ci sono modi semplici per portare a termine il lavoro, sia con che senza un plug-in.

In questo articolo, esamineremo come creare un clone o un post di una pagina duplicata di WordPress in modo sicuro e introdurremo alcuni plug-in che possono essere d'aiuto. Saltiamo subito dentro!

Sommario
1. Clona facilmente una pagina in WordPress con questi plugin
1.1. 1. Messaggio duplicato
1.2. 2. Duplica pagina e post
1.3. 3. Pagina duplicata
1.4. 4. Post Duplicatore
2. Duplicazione di una pagina in WordPress senza plug-in
2.1. 1. Abilitare la clonazione tramite il codice functions.php
2.2. 2. Copia e incolla manualmente il codice per duplicare una pagina
3. Continua ad imparare con WP Engine

Clona facilmente una pagina in WordPress con questi plugin

La clonazione di una pagina in WordPress è molto semplice quando si utilizza un plug-in di WordPress, perché tutto viene eseguito direttamente nella dashboard. I plugin sono anche il modo più sicuro per duplicare un post o una pagina, poiché non modificherai direttamente il codice del tuo sito.

Se stai cercando lo strumento giusto, ecco quattro plugin che vale la pena provare.

1. Messaggio duplicato

Una delle opzioni di riferimento per la pagina WordPress e la clonazione dei post è Duplicate Post. Questo popolare plugin è facile da usare e clona tutto, dal contenuto della pagina o del post ai commenti associati. Offre anche un'opzione di prefisso o suffisso, per differenziare il tuo post originale e il clone.

Per duplicare un post WordPress con questo strumento, devi solo:

  1. Installa e attiva il plug-in.
  2. Nella dashboard di WordPress, vai su Articoli > Tutto durante la clonazione dei post o Pagine > Tutto durante la clonazione delle pagine.
  3. Passare alla pagina o al post originale che si desidera copiare e fare clic su Clona per duplicarlo.
  4. È possibile selezionare più pagine o post e clonarli tutti in una volta utilizzando Azioni in blocco .

2. Duplica pagina e post

Duplicate Page and Post non ha molte funzionalità, ma compensa con la velocità. Questo plug-in di post duplicati leggero è uno dei modi più veloci per clonare un post o una pagina in WordPress e non appesantirà il tuo sito con campanelli e fischietti inutili.

Per clonare una pagina o un post con questo plug-in, procedi nel seguente modo:

  1. Installa e attiva il plug-in.
  2. Vai su Articoli > Tutto o Pagine > Tutto , a seconda di ciò che vuoi duplicare.
  3. Passa il mouse sopra la pagina o il post che desideri clonare.
  4. Fare clic sull'opzione Duplica .

3. Pagina duplicata

Duplicate Page offre alcune funzionalità aggiuntive che altri plug-in di clonazione non forniscono. Questo plug-in duplicherà post, pagine e tipi di post personalizzati. Inoltre, puoi salvare le copie risultanti come bozze, in sospeso, pubbliche o private.

Per utilizzare la pagina duplicata, devi solo:

  1. Installa e attiva il plug-in.
  2. Configura le sue impostazioni per soddisfare le tue esigenze.
  3. Vai su Pagine > Tutto o Post > Tutto per trovare il contenuto che desideri duplicare.
  4. Fare clic sull'opzione Duplica questo .

4. Post Duplicatore

Un altro semplice plug-in di clonazione è Post Duplicator. Questa soluzione crea un duplicato esatto di qualsiasi post o pagina, inclusi tipi di post personalizzati, campi personalizzati e tassonomie personalizzate. È veloce e facile da usare e non dovrebbe aggiungere molto peso al tuo sito.

Per duplicare i contenuti con questo strumento, procedi nel seguente modo:

  1. Installa il plugin e attivalo.
  2. Passa a Articoli > Tutto o Pagine > Tutto per trovare il contenuto che vuoi clonare.
  3. Passa il mouse sopra il post o la pagina.
  4. Clicca sull'opzione Duplica pagina o Duplica post .

Duplicazione di una pagina in WordPress senza plug-in

Naturalmente, non è necessario utilizzare un plug-in per clonare una pagina o un post in WordPress. Questo può essere fatto anche manualmente, modificando il file functions.php o copiando e incollando il relativo codice. Diamo un'occhiata a come funzionano entrambi i metodi.

1. Abilitare la clonazione tramite il codice functions.php

Uno dei modi manuali per clonare una pagina o un post di WordPress è modificare il codice nel file functions.php . Anche se questo può essere facile da fare, devi essere cauto e fare prima un backup del tuo sito web.

Per abilitare la clonazione per i post, dovrai accedere al tuo file functions.php e aprirlo per la modifica, utilizzando il protocollo FTP (Secure File Transfer Protocol) o qualsiasi altro metodo tu preferisca. Quindi dovrai aggiungere il seguente frammento di codice alla fine del file:

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

Per abilitare la clonazione anche per le pagine, usa lo stesso codice ma sostituisci la riga finale con:

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

Successivamente, puoi salvare il file e ricaricarlo sul tuo server. Quindi puoi tornare alla dashboard di WordPress. Ora dovrebbe apparire un pulsante Duplica quando passi con il mouse sopra una pagina o un post che vuoi clonare.

2. Copia e incolla manualmente il codice per duplicare una pagina

Se non vuoi modificare il tuo file functions.php , puoi copiare e incollare manualmente il codice per la pagina o il post che vuoi clonare. Per fare ciò, dovrai:

  1. Apri la pagina o il post che desideri duplicare.
  2. Fare clic sul menu Altri strumenti e opzioni .
  3. Seleziona Editor di codice .
  4. Copia il codice per la pagina o il post.
  5. Clicca su Nuovo post o Nuova pagina .
  6. Nel nuovo post o pagina, apri l' editor di codice .
  7. Incolla il codice.
  8. Fare clic sul menu Altri strumenti e opzioni .
  9. Seleziona Editor visivo .
  10. La nuova pagina o post dovrebbe ora essere un clone di quello vecchio.

Questo processo può richiedere un po' di tempo e dovrai farlo individualmente per ogni pagina o post che desideri copiare. Ecco perché ti consigliamo di utilizzare un plug-in di pagine duplicate di WordPress se stai cercando di duplicare molti contenuti.

Continua ad imparare con WP Engine

Semplificare la tua esperienza con WordPress è facile con la clonazione delle pagine. Esistono anche molti altri modi per risparmiare tempo, ad esempio migrando pagine o post tra siti WordPress e persino copiando ambienti di sviluppo.

Qui a WP Engine, offriamo le migliori risorse per gli sviluppatori che desiderano creare una fantastica esperienza digitale per i loro clienti. Dai un'occhiata ai nostri piani per iniziare subito!