Comment dupliquer une page WordPress ?

Il se peut que vous ayez besoin de dupliquer le contenu d’une page WordPress. Afin de gagner du temps, il est fort possible que vous désiriez garder la mise en page ainsi que toutes les images.

La duplication de contenu WordPress est simple et rapide. Dans cet article, nous allons vous présenter plusieurs manières d’effectuer cette action, avec ou sans plugin.

Comment dupliquer une page WordPress avec un plugin ?

L’utilisation d’un plugin permet de facilité la duplication d’une page WordPress. De plus, il s’agit du moyen le plus sûr dans la mesure où vous n’aurez pas besoin de modifier le code source de votre site.

Duplicate Post

Si vous désirez pouvoir cloner une publication, l’un des meilleurs plugins est Duplicate Post. En effet, grâce à ce plugin, il vous sera possible de cloner aussi bien une page ou un article en prenant en compte les commentaires liés à la publication. De plus, il vous sera possible d’ajouter un préfixe ou suffixe afin de pouvoir différencier la publication d’origine de son clone.

Pour utiliser Duplicate Post, il vous faudra suivre la procédure suivante :

  • Installez et activez le plugin sur votre Tableau de bord WordPress.

Plugin pour dupliquer une page WordPress

  • Rendez-vous ensuite sur “Pages” se trouvant sur le menu de gauche puis sur “Toutes les pages“. Cliquez ensuite sur “Cloner” se trouvant en dessous de l’article concerné.

Cloner une page WordPress

  • Vous avez la possibilité de cloner plusieurs pages en même temps en les sélectionnant toutes puis en choisissant “Dupliquer” se trouvant dans la fenêtre déroulante.

dupliquer une page WordPress

Duplicate Page and Post

Bien que le plugin Duplicate Page and Post ne dispose pas de beaucoup de fonctionnalités, ce dernier impressionne par sa vitesse d’exécution. En effet, ce plugin étant extrêmement léger, ce dernier n’alourdira pas votre site WordPress.

Afin d’utiliser ce plugin, il vous sera nécessaire de suivre la procédure suivante :

  • Installez et activez le plugin sur votre tableau de bord WordPress en vous rendant sur “Extension/Ajouter” se trouvant dans le menu de gauche.

Plugin dupliquer une page WordPress

  • Rendez-vous sur “Pages/Toutes les pages” se trouvant dans le menu de gauche de votre interface WordPress.  Passez la souris sur la page que vous désirez cloner et cliquez sur “Duplicate“.

Duplicate Page

Duplicate page est très complet. De plus, ce dernier propose plus de fonctionnalités que la plupart des autres plugins de clonage. En effet, ce dernier vous permettra d’enregistrer la copie en tant que brouillons, en attente de public ou autre.

Pour utiliser ce plugin, il vous sera nécessaire de suivre la procédure suivante :

  • Installez et activez le plugin Duplicate Page

dupliquer une page WordPress

  • Rendez-vous sur “Pages/Toutes les pages” se trouvant dans le menu de gauche de votre interface WordPress.  Passez la souris sur la page que vous désirez cloner et cliquez sur “Dupliquer cela“.

dupliquer une page WordPress

Post Duplicator

Post Duplicator est une solution permettant d’effectuer une copie exacte de toutes publications ou pages. Ce plugin facile et rapide à utiliser ne devrait pas alourdir votre site internet.

Afin de dupliquer une page avec ce dernier, il vous faudra suivre la procédure suivante :

  • Installez et activez le plugin Post Duplicator

dupliquer une page WordPress

  • Tout comme pour les autres plugins de clonage, rendez-vous sur “Pages/Toutes les pages” se trouvant sur le menu de gauche, passez la souris sur la page que vous désirez cloner et cliquez sur “Dupliquer Page“.

dupliquer une page WordPress

Comment dupliquer une page WordPress sans plugin ?

Bien que nous ayons vu en premier lieu les méthodes de duplication grâce à l’utilisation d’un plugin, il est à noter que vous pouvez effectuer cela sans en installer. En effet, vous pouvez, soit modifier le fichier functions.php, soit en copiant/collant le code correspondant.

Comment activer le clonage par le biais de functions.php?

La modification du code se trouvant dans le fichier functions.php est l’un des moyens vous permettant de cloner vos publications. Bien que cela puisse paraître facile à faire, il est préférable d’effectuer une sauvegarde de votre site avant d’effectuer cette action.

Afin d’activer le clonage de vos publications, il vous sera nécessaire d’accéder à votre fichier functions.php. Vous pouvez y accéder en utilisant un logiciel tel que FileZilla pour vous connecter à votre espace FTP.

Il vous faudra ensuite ajouter le code suivant à la fin de votre fichier:

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

Si vous désirez également activer le clonage de vos pages, il vous faudra remplacer la dernière ligne par la suivante :

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

Enregistrez le fichier modifié et téléchargez le à nouveau sur votre espace FTP.

Un bouton “Dupliquer” devrait apparaître sur voter Tableau de bord WordPress et que vous survolez avec la souris, une page ou publication que vous désirez cloner.

Dupliquer une page en copiant et collant manuellement le code

Si vous ne désirez pas modifier le code sur votre fichier functions.php, vous pouvez dupliquer une page en copiant et collant manuellement le code de la page que vous désirez cloner.

Pour cela, il vous faudra suivre la procédure suivante :

  • Ouvrez la page que vous désirez dupliquer
  • Cliquez sur “Texte” et copier le code source.

dupliquer une page WordPress

  • Cliquez sur “Pages/Ajouter” se trouvant dans le menu de gauche afin de créer une nouvelle page.
  • Cliquez à nouveau sur “Texte” et coller le code source que vous avez copié précédemment.

Conclusion

Vous êtes désormais en mesure de cloner une page à l’aide d’un plugin ou de façon manuelle. Il est à noter qu’en cas de modification d’un fichier tel que le fichier functions.php, il est préférable d’effectuer en premier lieu, une sauvegarde de votre site internet afin de pouvoir le restaurer en cas de besoin sur votre formule d’hébergement Web.

Commander

Hébergez votre site web Wordpress dès aujourd’hui !