Applications

Comment cloner ou dupliquer une page Web dans WordPress sans plugins

Internet est l’un des outils les plus utiles que l’homme ait inventés à cette époque et il a servi à de multiples tâches. Celles-ci vont de la possession de toutes les informations que vous souhaitez dans la paume de votre main à la possibilité de travailler dessus et d’avoir de bons revenus

Il existe divers outils qui vous fournissent le service d’hébergement de votre site Web, mais aucun comme WordPress . C’est un excellent outil de gestion de page qui vous fournira tout ce dont vous avez besoin pour avoir une page finie professionnelle grâce au fait que vous pouvez installer différents modèles ou thèmes dans WordPress .

Comment dupliquer une page sans plugins?

Avant de commencer, il est conseillé de faire une copie de sauvegarde de cette manière si vous faites des erreurs pendant le processus, vous serez en mesure de tout restaurer à nouveau. Cela dit, commençons par expliquer comment cloner ou dupliquer facilement une page Web dans WordPress sans plugins. Vous serez également intéressé à connaître les meilleurs plugins pour la mise en page et l’édition dans WordPress .

La seule méthode n’est pas seulement d’utiliser des plugins, vous pouvez le faire via un code qui dupliquera les pages WordPress, vous devez utiliser le code suivant:

  • / *
  • * Fonction pour la duplication de poste. Les Dups apparaissent comme des brouillons. L’utilisateur est redirigé vers l’écran d’édition
  • * /
  • 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 (‘Aucun message à dupliquer n’a été fourni!’);
  • }
  • / *
  • * Vérification nonce
  • * /
  • if (! isset ($ _GET [‘duplicate_nonce’]) ||! wp_verify_nonce ($ _GET [‘duplicate_nonce’], basename (__FILE__)))
  • revenir;
  • / *
  • * obtenir l’identifiant de publication d’origine
  • * /
  • $ post_id = (isset ($ _ GET [‘post’])? absint ($ _GET [‘post’]): absint ($ _POST [‘post’]));
  • / *
  • * et toutes les données de publication d’origine, puis
  • * /
  • $ post = get_post ($ post_id);
  • / *
  • * si vous ne voulez pas que l’utilisateur actuel soit le nouvel auteur de l’article,
  • * puis remplacez les deux lignes suivantes par ceci: $ new_post_author = $ post-> post_author;
  • * /
  • $ utilisateur_actuel = wp_get_current_user ();
  • $ new_post_author = $ utilisateur_actuel-> ID;
  • / *
  • * si des données de publication existent, créez le doublon de publication
  • * /
  • if (isset ($ post) && $ post! = null) {
  • / *
  • * nouveau tableau de données post
  • * /
  • $ args = tableau (
  • ‘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’ => ‘brouillon’,
  • ‘post_title’ => $ post-> post_title,
  • ‘post_type’ => $ post-> post_type,
  • ‘to_ping’ => $ post-> to_ping,
  • ‘menu_order’ => $ post-> menu_order
  • );
  • / *
  • * insérer le message par la fonction wp_insert_post ()
  • * /
  • $ new_post_id = wp_insert_post ($ args);
  • / *
  • * obtenir toutes les conditions de publication actuelles et les définir sur le nouveau brouillon de publication
  • * /
  • $ taxonomies = get_object_taxonomies ($ post-> post_type); // retourne un tableau de noms de taxonomie pour le type de publication, ex array («category», «post_tag»);
  • foreach ($ taxonomies comme $ taxonomie) {
  • $ post_terms = wp_get_object_terms ($ post_id, $ taxonomie, array (‘fields’ => ‘slugs’));
  • wp_set_object_terms ($ new_post_id, $ post_terms, $ taxonomy, false);
  • }
  • / *
  • * dupliquez tous les messages méta dans deux requêtes SQL
  • * /
  • $ 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 = «INSÉRER DANS $ wpdb-> postmeta (post_id, meta_key, meta_value)»;
  • foreach ($ post_meta_infos comme $ meta_info) {
  • $ meta_key = $ meta_info-> meta_key;
  • if ($ meta_key == ‘_wp_old_slug’) continue;
  • $ meta_value = ajoute des barres obliques ($ meta_info-> meta_value);
  • $ sql_query_sel [] = «SELECT $ new_post_id, ‘$ meta_key’, ‘$ meta_value'»;
  • }
  • $ sql_query. = imploser (»UNION ALL«, $ sql_query_sel);
  • $ wpdb-> requête ($ sql_query);
  • }
  • / *
  • * enfin, redirigez vers l’écran de modification de l’article pour le nouveau brouillon
  • * /
  • wp_redirect (admin_url (‘post.php? action = edit & post =’. $ new_post_id));
  • sortir;
  • } autre {
  • wp_die (‘La création de la publication a échoué, impossible de trouver la publication d’origine:’. $ post_id);
  • }
  • }
  • add_action (‘admin_action_rd_duplicate_post_as_draft’, ‘rd_duplicate_post_as_draft’);
  • / *
  • * Ajouter le lien en double à la liste d’actions pour 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 =» Dupliquer cet élément »rel =» permalien »> Dupliquer </a>’;
  • }
  • return $ actions;
  • }
  • add_filter (‘post_row_actions’, ‘rd_duplicate_post_link’, 10, 2);

Pourquoi utiliser ce code?

 

Parce que de cette façon, vous pouvez copier le site Web. Il vous suffit de coller le code dans votre fichier functions.php. Ceci est possible grâce à l’éditeur de fichiers WordPress. Accédez à Toutes les entrées et appuyez sur le bouton Dupliquer et WordPress créera automatiquement une copie et l’enregistrera en tant que brouillon qui donnera à votre site l’aspect de celui que vous recherchez.

Articles Similaires

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba