Comment dupliquer une page ou un article dans WordPress
Publié: 2023-02-12Dupliquer une page ou un article dans WordPress peut signifier plus que simplement copier et coller le contenu. Vous pouvez également conserver le modèle de page, les données SEO et les images, afin de gagner du temps lors de la refonte de votre site Web ou de la mise à jour de votre contenu.
Heureusement, dupliquer des pages et des articles et toutes leurs données associées dans WordPress peut être facile. Il existe des moyens simples de faire le travail, avec et sans plugin.
Dans cet article, nous verrons comment créer un clone de page WordPress en double ou publier en toute sécurité, et présenterons quelques plugins qui peuvent vous aider. Allons droit au but !
Clonez facilement une page dans WordPress avec ces plugins
Cloner une page dans WordPress est très simple lorsque vous utilisez un plugin WordPress, car tout se fait directement dans votre tableau de bord. Les plugins sont également le moyen le plus sûr de dupliquer un article ou une page, car vous ne modifierez pas directement le code de votre site.
Si vous cherchez le bon outil, voici quatre plugins qui valent le détour.
1. Message en double
L'une des options incontournables pour le clonage de pages et de publications WordPress est la publication en double. Ce plugin populaire est facile à utiliser et clone tout, du contenu de la page ou de la publication aux commentaires associés. Il offre également une option de préfixe ou de suffixe, pour différencier votre message d'origine et le clone.
Pour dupliquer un post WordPress avec cet outil, il vous suffit de :
- Installez et activez le plugin.
- Dans votre tableau de bord WordPress, accédez à Articles > Tous lors du clonage d'articles, ou Pages > Tous lors du clonage de pages.
- Accédez à la page ou à la publication d'origine que vous souhaitez copier, puis cliquez sur Cloner pour la dupliquer.
- Plusieurs pages ou publications peuvent être sélectionnées et vous pouvez toutes les cloner à la fois à l'aide d'actions en masse .
2. Dupliquer la page et publier
Dupliquer la page et la publication n'a pas beaucoup de fonctionnalités, mais compense cela en vitesse. Ce plugin de publication en double léger est l'un des moyens les plus rapides de cloner une publication ou une page dans WordPress, et n'alourdira pas votre site avec des cloches et des sifflets inutiles.
Pour cloner une page ou une publication avec ce plugin, procédez comme suit :
- Installez et activez le plugin.
- Accédez à Articles > Tous ou Pages > Tous , selon ce que vous souhaitez dupliquer.
- Passez la souris sur la page ou la publication que vous souhaitez cloner.
- Cliquez sur l'option Dupliquer .
3. Dupliquer la page
Duplicate Page offre quelques fonctionnalités supplémentaires que certains autres plugins de clonage ne fournissent pas. Ce plugin dupliquera les publications, les pages et les types de publication personnalisés. De plus, vous pouvez enregistrer les copies résultantes en tant que brouillons, en attente, publiques ou privées.
Pour utiliser la page dupliquée, il vous suffit de :
- Installez et activez le plugin.
- Configurez ses paramètres pour répondre à vos besoins.
- Accédez à Pages > Tous ou Articles > Tous pour trouver le contenu que vous souhaitez dupliquer.
- Cliquez sur l'option Dupliquer ceci .
4. Post-duplicateur
Un autre plugin de clonage simple est Post Duplicator. Cette solution crée une copie exacte de n'importe quelle publication ou page, y compris les types de publication personnalisés, les champs personnalisés et les taxonomies personnalisées. Il est rapide et facile à utiliser et ne devrait pas ajouter beaucoup de poids à votre site.
Pour dupliquer du contenu avec cet outil, procédez comme suit :
- Installez le plugin et activez-le.
- Accédez à Articles > Tous ou Pages > Tous pour trouver le contenu que vous souhaitez cloner.
- Survolez la publication ou la page.
- Cliquez sur l'option Dupliquer la page ou Dupliquer la publication .
Dupliquer une page dans WordPress sans plugin
Bien sûr, vous n'avez pas besoin d'utiliser un plugin pour cloner une page ou publier dans WordPress. Cela peut également être fait manuellement, soit en éditant le fichier funtions.php , soit en copiant et collant le code correspondant. Voyons comment fonctionnent les deux méthodes.
1. Activer le clonage via le code funtions.php
L'un des moyens manuels de cloner une page ou un article WordPress consiste à modifier le code dans votre fichier functions.php . Bien que cela puisse être facile à faire, vous devez être prudent et faire d'abord une sauvegarde de votre site Web.
Pour activer le clonage des messages, vous devrez accéder à votre fichier functions.php et l'ouvrir pour le modifier, en utilisant le protocole de transfert de fichiers sécurisé (FTP) ou toute autre méthode que vous préférez. Ensuite, vous devrez ajouter l'extrait de code suivant à la fin du 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
*/
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 );
Pour activer également le clonage des pages, utilisez le même code mais remplacez la dernière ligne par :
add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
Après cela, vous pouvez enregistrer le fichier et le télécharger à nouveau sur votre serveur. Ensuite, vous pouvez retourner à votre tableau de bord WordPress. Un bouton Dupliquer devrait maintenant apparaître lorsque vous survolez une page ou une publication que vous souhaitez cloner.
2. Copier et coller manuellement le code pour dupliquer une page
Si vous ne souhaitez pas modifier votre fichier functions.php , vous pouvez copier et coller manuellement le code de la page ou de la publication que vous souhaitez cloner. Pour ce faire, vous devrez :
- Ouvrez la page ou la publication que vous souhaitez dupliquer.
- Cliquez sur le menu Plus d'outils et d'options .
- Sélectionnez Éditeur de code .
- Copiez le code de la page ou de la publication.
- Cliquez sur Nouveau message ou Nouvelle page .
- Dans le nouvel article ou la nouvelle page, ouvrez l' éditeur de code .
- Collez le code.
- Cliquez sur le menu Plus d'outils et d'options .
- Sélectionnez Éditeur visuel .
- La nouvelle page ou publication devrait maintenant être un clone de l'ancienne.
Ce processus peut prendre un peu de temps et vous devrez le faire individuellement pour chaque page ou message que vous souhaitez copier. C'est pourquoi nous vous recommandons d'utiliser un plugin de page en double WordPress si vous cherchez à dupliquer beaucoup de contenu.
Continuez à apprendre avec WP Engine
Rationaliser votre expérience WordPress est facile avec le clonage de page. Il existe de nombreuses autres façons de gagner du temps, par exemple en migrant des pages ou des publications entre des sites WordPress et même en copiant des environnements de développement.
Chez WP Engine, nous offrons les meilleures ressources aux développeurs souhaitant créer une excellente expérience numérique pour leurs clients. Consultez nos plans pour commencer tout de suite!