Toepassingen

Een webpagina klonen of dupliceren in WordPress zonder plug-ins

Internet is een van de outils nuttiger die man vond het destijds uit en het diende vele doelen. Deze variëren van het hebben van alle informatie die je wilt in de palm van je hand tot eraan kunnen werken en een goed inkomen hebben.

Er zijn verschillende tools die u de hostingservice uw website, maar geen enkele houdt van WordPress . Het is een geweldige tool voor paginabeheer die u alles biedt wat u nodig heeft voor een professionele afgewerkte pagina dankzij het feit dat u verschillende sjablonen of thema's installeren in WordPress .

Hoe een pagina dupliceren zonder plug-ins?

Voordat je begint is het raadzaam om op deze manier een reservekopie te maken mocht je tijdens het proces fouten maken, dan kun je alles weer herstellen. Dat gezegd hebbende, laten we beginnen met uit te leggen hoe eenvoudig webpagina's klonen of dupliceren in WordPress zonder plug-ins. U zult ook geïnteresseerd zijn in het kennen van de beste plug-ins voor lay-out en bewerking in WordPress .

De enige methode is niet alleen om plug-ins te gebruiken, je kunt het doen via code die WordPress-pagina's dupliceert, je moet de volgende code gebruiken:

  • * Functie voor postduplicatie. Dups verschijnen als concepten. De gebruiker wordt doorgestuurd naar het bewerkingsscherm
  • * /
  • functie rd_duplicate_post_as_draft () {
  • globaal $ wpdb;
  • if (! (isset ($ _GET ['post']) || isset ($ _POST ['post']) || (isset ($ _ REQUEST ['action']) && 'rd_duplicate_post_as_draft' == $ _REQUEST [' actie ']))) {
  • wp_die ('Er is geen dubbel bericht opgegeven!');
  • }
  • * Verificatie nonce
  • * /
  • if (! isset ($ _GET ['duplicate_nonce']) ||! wp_verify_nonce ($ _GET ['duplicate_nonce'], basisnaam (__FILE__)))
  • terugkomen;
  • * verkrijg de originele post-ID
  • * /
  • $ post_id = (isset ($ _ GET ['post'])? absint ($ _GET ['post']): absint ($ _POST ['post']));
  • * en alle originele postgegevens, dan
  • * /
  • $post = get_post($post_id);
  • * als u niet wilt dat de huidige gebruiker de nieuwe auteur van het artikel wordt,
  • * vervang dan de volgende twee regels hiermee: $ new_post_author = $ post-> post_author;
  • * /
  • $ current_user = wp_get_current_user ();
  • $ new_post_author = $ huidige_gebruiker-> ID;
  • * als publicatiegegevens bestaan, maak dan de dubbele publicatie aan
  • * /
  • if (isset ($ bericht) && $ bericht! = null) {
  • * nieuwe tabel met berichtgegevens
  • * /
  • $ args = matrix (
  • 'comment_status' => $ post-> comment_status,
  • 'ping_status' => $ post-> ping_status,
  • 'post_author' => $ nieuwe_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' => 'concept',
  • 'post_title' => $ post-> post_title,
  • 'post_type' => $ post-> post_type,
  • 'to_ping' => $ post-> naar_ping,
  • 'menu_order' => $ post-> menu_order
  • );
  • * voeg het bericht in met de functie wp_insert_post ()
  • * /
  • $new_post_id = wp_insert_post($args);
  • * verkrijg alle huidige postvoorwaarden en stel ze in op het nieuwe postconcept
  • * /
  • $ taxonomieën = get_object_taxonomies ($ post-> post_type); // retourneer een array van taxonomienamen voor het berichttype, bijv. array ("category", "post_tag");
  • foreach ($ taxonomieën zoals $ taxonomie) {
  • $ post_terms = wp_get_object_terms ($ post_id, $ taxonomie, array ('fields' => 'slugs'));
  • wp_set_object_terms ($ new_post_id, $ post_terms, $ taxonomie, false);
  • }
  • * dupliceer alle metaberichten in twee SQL-query's
  • * /
  • $ 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 = "VOEG IN $ wpdb-> postmeta (post_id, meta_key, meta_value)";
  • foreach ($ post_meta_infos zoals $ meta_info) {
  • $ meta_key = $ meta_info-> meta_key;
  • if ($ meta_key == '_wp_old_slug') doorgaan;
  • $ meta_value = schuine strepen toevoegen ($ meta_info-> meta_value);
  • $ sql_query_sel [] = "SELECT $ new_post_id, '$ meta_key', '$ meta_value'";
  • }
  • $ sql_query. = imploderen (»UNION ALL«, $ sql_query_sel);
  • $ wpdb-> query ($ sql_query);
  • }
  • * tot slot, doorverwijzen naar het bewerkingsscherm van het artikel voor het nieuwe concept
  • * /
  • wp_redirect (admin_url ('post.php? action = edit & post ='. $ new_post_id));
  • uitgaan;
  • } andere {
  • wp_die ('Maken van bericht mislukt, kon originele bericht niet vinden:'. $ post_id);
  • }
  • }
  • add_action ('admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft');
  • * Dubbele link toevoegen aan actielijst voor post_row_actions
  • * /
  • functie rd_duplicate_post_link ($ acties, $ post) {
  • if (current_user_can ('edit_posts')) {
  • $ acties ['dupliceren'] = ' wp_nonce_url ('admin.php? action = rd_duplicate_post_as_draft & post ='. $ post-> ID, basisnaam (__ FILE__), 'duplicate_nonce'). '"Title =" Dupliceer dit element "rel =" permalink "> Dupliceer';
  • }
  • retourneer $ acties;
  • }
  • add_filter ('post_row_actions', 'rd_duplicate_post_link', 10, 2);

Waarom deze code gebruiken?

 

Want zo kun je de website kopiëren. U hoeft alleen de code in uw Functions.php-bestand te plakken. Dit is mogelijk dankzij de WordPress-bestandseditor. Ga naar alle inzendingen en druk op de knop Dupliceren en WordPress zal automatisch een kopie maken en deze opslaan als een concept, waardoor uw site eruitziet zoals u zoekt.

Vergelijkbare items

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

Terug naar boven knop