Comment dupliquer un article ou une page dans WordPress ?

Il existe de nombreuses raisons pour lesquelles vous devrez peut-être enregistrer une page ou un article WordPress.

Avez-vous besoin de copier des articles pour les mises à jour de contenu ? Ou peut-être souhaitez-vous utiliser une mise en page spécifique pour les nouvelles pages de votre site WordPress ?

Quelle que soit la raison, il existe plusieurs façons de répliquer des articles et des pages dans WordPress. Ce tutoriel vous expliquera les différentes manières de répliquer un article ou une page dans WordPress, avec ou sans plugin.

1. Message en double Yoast

Le plugin Duplicate Post de Yoast est l’une des meilleures options pour cela. En plus de cloner des publications ou des pages, vous pouvez également copier des commentaires, des balises, des listes de menus, etc.

De plus, le plugin vous permet d’ajouter des préfixes ou des suffixes de titre. Par conséquent, vous pouvez facilement distinguer l’original de la copie.

Supposons que vous définissiez « copy » comme préfixe de titre. Si vous copiez un article intitulé « Qu’est-ce que WordPress », la copie sera nommée « Qu’est-ce qu’une copie de WordPress ».

Pour copier du contenu à l’aide du plugin, suivez ces étapes simples :

Installez le plugin et activez-le.
Accédez à votre tableau de bord WordPress et cliquez sur Pages -> Toutes les pages (si vous souhaitez copier une page) ou Articles -> Tous les articles (si vous souhaitez copier un article).
Passez la souris sur la page ou la publication que vous souhaitez cloner et vous verrez deux nouvelles options – Cloner et Nouveau brouillon.
4. Cliquez sur le lien Cloner pour copier l’élément sélectionné ou sélectionnez Nouveau brouillon pour créer un nouvel article à partir du contenu cloné et l’ouvrir dans l’éditeur d’articles.

2. Dupliquer la page et publier

Les pages/articles en double vous permettent de créer rapidement des doublons de pages et d’articles WordPress. Le plugin peut dupliquer une page ou une publication sans changer le type de publication, le contenu, le titre ou le style.

L’utilisation de ce plugin est relativement simple. Suivez simplement ces étapes pour copier un article ou une page dans WordPress :

Après avoir installé et activé le plugin, rendez-vous dans le menu « Toutes les pages » ou « Tous les articles » de votre tableau de bord WordPress, selon ce que vous souhaitez copier.
Passez la souris sur la publication ou la page que vous souhaitez cloner et cliquez sur Copier.
La publication ou la page clonée apparaîtra comme un nouveau brouillon portant le même nom que l’original. Ouvrez la copie pour modifier son contenu.

3. Post Duplicateur

Le plugin Post Duplicator vous permet de créer des copies exactes de vos articles ou pages WordPress tout en préservant les champs personnalisés et les taxonomies personnalisées.

Voici comment dupliquer une page ou une publication à l’aide du plugin Post Duplicator :

Installez et activez le plugin Post Duplicator.
Accédez à votre administrateur WordPress et recherchez la publication ou la page que vous souhaitez copier.
Cliquez sur Dupliquer l’article ou Dupliquer la page.

Vous pouvez personnaliser plusieurs paramètres de réplication de courrier. Allez dans Outils -> Post Duplicator et entrez le statut de la publication (brouillon, publié ou identique à l’original), le type de publication et la date de publication. Le titre et le slug des pages répétitives peuvent également être ajustés.

Copiez des pages WordPress ou publiez sans plugins

Outre l’utilisation de plugins, une autre façon de répliquer les publications et les pages consiste à ajouter le code à votre fichier functions.php. Pour activer les liens en double, vous pouvez utiliser un client FTP, un éditeur HTML ou l’éditeur de fichiers intégré de WordPress.

Si vous choisissez la deuxième option, lisez notre article pour connaître les meilleurs éditeurs HTML pour éditer du code.

D’autre part, si vous souhaitez utiliser l’éditeur de fichiers intégré pour copier les publications ou les pages de votre site, sortez de votre tableau de bord WordPress. Accédez à l’éditeur de thème et sélectionnez la fonction de thème.

Vous pouvez également utiliser le gestionnaire de fichiers de Hostinger pour configurer le fichier functions.php.

Examinons maintenant les instructions étape par étape pour copier une page ou la publier sur votre site WordPress.

important! Nous vous recommandons fortement de sauvegarder votre site Web avant d’apporter des modifications à vos fichiers WordPress.

Comment copier des messages WordPress via le fichier Functions.php

Pour copier des publications sur votre site WordPress, vous devez coller l’extrait de code suivant dans votre fichier 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 );

Comment copier un site Web dans WordPress via le fichier Functions.php

Le processus de duplication d’un site Web dans WordPress est très simple. Remplacez simplement la dernière ligne de code ci-dessus par l’extrait de code suivant :

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

Après avoir intégré avec succès le code ci-dessus, vous devriez voir un bouton Dupliquer dans le menu Tous les articles où toutes les pages.

en conclusion

Nous espérons que vous avez trouvé ce tutoriel et tous les outils que nous recommandons dans l’article utiles pour dupliquer des pages ou des publications WordPress.

La duplication de pages ou de publications dans WordPress peut être très utile à bien des égards. Peut-être souhaitez-vous reproduire votre site Web actuel pour une future référence de conception Web. Alternativement, vous devez copier un article existant pour le réutiliser comme modèle.

Bien que vous puissiez copier manuellement des pages ou publier par copier-coller, cela peut être fastidieux si vous gérez beaucoup de contenu.

Tout d’abord, vous pouvez utiliser un plugin pour copier un article ou une page sur WordPress. Pour ce faire, vous pouvez utiliser trois plugins différents de votre choix : Copy Posts, Copy Pages et Publish and Publish Copy.

Deuxièmement, vous pouvez copier des articles et des pages sans pièces jointes. Tout ce que vous avez à faire est de naviguer vers le fichier WordPress functions.php et d’entrer le code que nous avons fourni. Cela générera un lien en double pour chaque publication et page dans la zone d’administration de WordPress.

Avez-vous des questions, des conseils ou des astuces pour dupliquer des pages ou des publications WordPress ? Faites le nous savoir dans la section « Commentaires ».