Een pagina dupliceren in WordPress zonder plug-ins in 2023

Als je WordPress gebruikt om je website te maken en te beheren, wil je op een gegeven moment misschien een pagina dupliceren. U denkt misschien dat u eenvoudig alle inhoud op een nieuwe pagina kunt kopiëren en plakken.

Dit werkt slechts tot op zekere hoogte, omdat veel van uw opmaak, zoals functies, afbeeldingen en SEO, allemaal verloren gaan en opnieuw moeten worden uitgevoerd. Voor meer informatie over dit onderwerp kunt u dit artikel lezen op: een pagina dupliceren in WordPress.

Bovendien, als je een pagina wilt vernieuwen en verbeteren, als je begint met het bewerken van de bestaande pagina, in plaats van een duplicaat te maken, heb je geen vergelijkingspunt. Wat uw reden ook is om een ​​pagina in WordPress te dupliceren, er zijn een aantal manieren waarop u dit kunt doen.

Beheerde WordPress-hosting biedt een robuuste en efficiënte omgeving voor het runnen van een WordPress-website. Het dupliceren van een pagina zonder plug-in is een eenvoudige handmatige taak.

Beide elementen maken deel uit van een bredere strategie om een ​​WordPress-website efficiënt te beheren en te onderhouden, waarbij managed hosting een vangnet biedt dat een aanvulling vormt op handmatige sitebeheertaken zoals het dupliceren van pagina's.

Een WordPress-pagina kopiëren zonder plug-ins

Als je geen plug-in wilt gebruiken om een ​​WordPress-pagina te kopiëren, kun je proberen er een paar te wijzigen code.

Een beetje coderen

Maak je geen zorgen als je geen codeergoeroe bent (slechts weinigen van ons zijn dat). Je kunt WordPress-pagina's dupliceren door een beetje te coderen, en het is niet zo moeilijk. We zullen u hier de code geven, dus u hoeft deze alleen maar te kopiëren en te plakken. Laten we uitleggen hoe u dit kunt doen.

Toegang tot het Functions.php-bestand

Om een ​​pagina zonder plug-in te dupliceren, moet u via de coderingsmethode toegang krijgen tot het bestand "functions.php". Er zijn twee hoofdmethoden die u kunt gebruiken om toegang te krijgen tot het bestand Functions.php.

De eerste methode is met behulp van FTP Client, dus je moet eerst installeren FTP Cliënt. Start de FTP-client, klik op "verbinden" en geef uw gebruikersnaam en wachtwoord op om verbinding te maken met de FTP-hostserver. U kunt dan het juiste bestand openen door naar "WordPress Root", dan "WP Content", dan "Thema's", dan "Huidige thema's" te gaan en u komt uiteindelijk bij functions.php. U kunt het bestand vervolgens downloaden, indien nodig bewerken en weer uploaden naar de juiste locatie.

De tweede methode geeft toegang tot het bestand Functions.php. U kunt wijzigingen in de code aanbrengen door in te loggen op WordPress als beheerder, vervolgens naar de weergave-editor in de zijbalk te gaan, het thema te selecteren dat u wilt bewerken en vervolgens de themafunctie (functions.php) te selecteren, die zich onder de " themabestanden" in het gedeelte "sjablonen". U kunt nu wijzigingen in de code aanbrengen en wanneer u klaar bent, drukt u gewoon op de knop "update".

Nu weet u hoe u toegang krijgt tot het bestand Functions.php, zodat u wijzigingen in de code kunt aanbrengen zonder een plug-in; het primaire doel is om een ​​pagina te dupliceren. De volgende stap is het invoeren van de juiste code die vervolgens de pagina dupliceert. Maak je geen zorgen als je niet veel weet over coderen, want we hebben de benodigde code bijgevoegd die je gewoon kunt kopiëren en plakken.

/* * Functie voor postduplicatie.  Dups verschijnen als concepten.  De gebruiker wordt doorgestuurd naar het bewerkingsscherm */ function rd_duplicate_post_as_draft(){ global $wpdb; indien (!  ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) { wp_die('Er is geen post om te dupliceren geleverd!'); } /* * Nonce-verificatie */ if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) )) return; /* * 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 je niet wilt dat de huidige gebruiker de nieuwe auteur van het bericht is, * verander dan de volgende paar regels hierin: $new_post_author = $post->post_author; */ $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * als er postgegevens bestaan, maak dan het postduplicaat */ 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 ); /* * voeg het bericht in met de functie wp_insert_post() */ $new_post_id = wp_insert_post( $args); /* * haal alle huidige postvoorwaarden op en stel ze in op het nieuwe postconcept */ $taxonomies = get_object_taxonomies($post->post_type); // retourneert array van taxonomienamen voor posttype, ex array ("category", "post_tag"); foreach ($taxonomieën als $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 post-meta alleen 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 als $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key == '_wp_old_slug' ) ga verder; $meta_value = addlashes($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); } /* * stuur tot slot door naar het bericht bewerken scherm voor het nieuwe concept */ wp_redirect( admin_url( 'post.php?action=edit&post=' .  $new_post_id ) ); Uitgang; } else { 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'); /* * Voeg de dubbele link toe aan de actielijst voor post_row_actions */ function rd_duplicate_post_link( $actions, $post) { if (current_user_can('edit_posts')) { $actions['duplicate'] = '  wp_nonce_url('admin.php?action=rd_duplicate_post_as_draft&post=' .  $post->ID, basisnaam(__FILE__), 'duplicate_nonce' ). 

Als je alleen een bericht wilt dupliceren, geen pagina, vervang dan die laatste regel door:

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

Conclusie

U weet nu hoe u een WordPress-pagina kopieert zonder plug-ins. Zoals u kunt zien, zijn er slechts twee stappen nodig. Open eerst het bestand Functions.php, kopieer en plak die code in het bestand en werk het vervolgens bij. Zo simpel is het, en als je klaar bent, heb je een exacte kopie van je originele pagina.

    0 Reacties

    Geen commentaar.