Comment dupliquer correctement des pages dans WordPress (avec 2 façons)
Publié: 2022-09-23Ne perdez pas de temps à dupliquer manuellement chaque page de votre site WordPress. Si vous avez l'intention de dupliquer de nombreuses pages, laissez-nous vous montrer 2 solutions pour dupliquer des pages dans WordPress de manière simple et rapide.
Quand avez-vous besoin de dupliquer des pages dans WordPress ?
Parfois, vous devez dupliquer des pages dans WordPress pour présenter un contenu différent mais dans la même mise en page. Vous pouvez le faire manuellement, ce qui signifie que vous devez copier le modèle et les éléments SEO, y compris les méta descriptions et les balises de titre. Et ce processus est répété plusieurs fois, ce qui prend du temps et des efforts.
Si vous avez besoin d'une autre solution plus pratique et plus rapide tout en restant très efficace, une suggestion pour vous est de dupliquer les pages dans WordPress via des plugins ou un fichier functions.php. Aujourd'hui, nous aimerions vous apporter des instructions détaillées à ce sujet. Commençons!
Comment dupliquer des pages dans WordPress
En fait, il existe deux méthodes principales pour dupliquer des pages dans WordPress. La première consiste à utiliser les plugins WordPress Duplicator pour ce faire. Et une autre consiste à ajouter du code au fichier functions.php pour générer des pages en double ou même des publications en double.
Cependant, nous vous recommandons de choisir un plugin pour atteindre vos objectifs. L'ajout de code dans l'éditeur de fichier de thème provoque parfois une erreur pour votre site WordPress et tout devient compliqué. C'est donc une bonne idée pour vous d'obtenir une solution sûre.
Utiliser des plugins pour dupliquer des pages dans WordPress
Pour être honnête, sur le marché actuel, de nombreux plugins pratiques apparaissent pour vous aider à dupliquer des pages dans WordPress. Cependant, nous aimerions vous présenter deux plugins faciles à utiliser et efficaces : Yoast Duplicate Post et Duplicate Page and Post.
Voyons maintenant les instructions détaillées pour utiliser Yoast Duplicate Post pour votre site WordPress.
- Connectez-vous à votre tableau de bord d'administration WordPress -> Allez dans Plugins -> Ajouter un nouveau .
- Trouvez Yoast Duplicate Post -> Installer et activez -le.
- Sur le tableau de bord d'administration, choisissez Ouvrir la page -> Toutes les pages .
- Sélectionnez la page que vous souhaitez dupliquer, il y aura 2 nouvelles options : Clone et New Draft .
- Si vous espérez dupliquer des pages dans WordPress , cliquez simplement sur le bouton Cloner . Au cas où vous auriez besoin de générer une nouvelle page contenant du contenu copié , choisissons l'option Nouveau brouillon .
Un autre plugin pour vous aider à cloner la page actuelle est Duplicate Page and Post . Suivons l'étape ci-dessous :
- Connectez-vous à votre tableau de bord d'administration WordPress -> Allez dans Plugins -> Ajouter un nouveau .
- Recherchez la page en double et la publication -> Installez-la et activez -la.
- Accédez à Ouvrir la page -> Toutes les pages .
- Cliquez sur la page que vous devez copier, l'option Dupliquer apparaîtra pour que vous puissiez le faire. Après avoir appuyé dessus, un nouveau brouillon sera disponible pour que vous puissiez modifier le contenu.
Utilisation du fichier Functions.php pour dupliquer des pages dans WordPress
La deuxième façon de dupliquer des pages dans WordPress consiste à insérer le code dans le fichier Functions.php. Pour ce faire, ouvrons Appearance -> Theme File Editor -> Functions.php .
Il est maintenant temps pour vous de dupliquer des pages dans WordPress en ajoutant l'extrait de code suivant au 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('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Emballer
Bref, gagnons du temps dans le clonage des pages en suivant l'une des deux méthodes ci-dessus pour dupliquer des pages dans WordPress. Si vous rencontrez des problèmes liés aux sujets, pourquoi ne laissez-vous pas votre commentaire ci-dessous afin que nous puissions vous aider ?
Enfin, n'oubliez pas que notre place de marché propose de nombreux thèmes WordPress gratuits adaptés aux mobiles et accrocheurs. Alors, ne les manquez pas si vous avez besoin d'un nouveau thème pour votre site WordPress !