Come duplicare una pagina in WordPress senza plugin nel 2023

Se stai usando WordPress per creare e gestire il tuo sito web, a un certo punto potresti voler duplicare una pagina. Potresti pensare di poter semplicemente copiare e incollare tutto il contenuto su una nuova pagina.

Funziona solo in una certa misura, poiché gran parte della formattazione, come funzionalità, immagini e SEO, andrà persa e dovrà essere rifatta. Per ulteriori informazioni su questo argomento, puoi consultare questo articolo su duplicare una pagina in WordPress.

Inoltre, se vuoi rinnovare una pagina e migliorarla, se inizi a modificare la pagina esistente, invece di fare un duplicato, non hai alcun punto di confronto. Qualunque sia la ragione per cui hai bisogno di duplicare una pagina in WordPress, ci sono un paio di modi per farlo.

L'hosting WordPress gestito fornisce un ambiente robusto ed efficiente per l'esecuzione di un sito Web WordPress, duplicare una pagina senza plug-in è un'attività manuale semplice.

Entrambi gli elementi fanno parte di una strategia più ampia per gestire e mantenere in modo efficiente un sito Web WordPress, con l'hosting gestito che offre una rete di sicurezza che integra le attività di gestione manuale del sito come la duplicazione delle pagine.

Copiare una pagina WordPress senza plugin

Se non desideri utilizzare un plug-in per copiare una pagina di WordPress, puoi provare a modificarne alcuni codice.

Un po' di codice

Nessun problema se non sei un guru della programmazione (pochissimi di noi lo sono). Puoi duplicare le pagine di WordPress eseguendo un po' di codice e non è così difficile. Ti forniremo il codice qui, quindi devi solo copiarlo e incollarlo. Spieghiamo come farlo.

Accesso al file Functions.php

Per duplicare una pagina senza plug-in, dovrai accedere al file "functions.php" tramite il metodo di codifica. Ci sono due metodi principali che puoi usare per accedere al file functions.php.

Il primo metodo consiste nell'utilizzare il client FTP, quindi è necessario prima installarlo FTP Cliente. Avvia il client FTP, fai clic su "connetti" e fornisci il tuo nome utente e password per connetterti al server host FTP. Puoi quindi accedere al file appropriato andando su "WordPress Root", quindi "WP Content", quindi "Themes", quindi "Current Themes" e finalmente arriverai a functions.php. È quindi possibile scaricare il file, modificarlo secondo necessità e caricarlo nuovamente nella posizione appropriata.

Il secondo metodo accede al file functions.php. Puoi apportare modifiche al codice accedendo a WordPress come amministratore, quindi vai all'editor dell'aspetto nella barra laterale, seleziona il tema che desideri modificare, quindi seleziona la funzione dei temi (functions.php), che si trova sotto il " file del tema" nella "sezione modelli". Ora puoi apportare modifiche al codice e, quando hai finito, premi semplicemente il pulsante "Aggiorna".

Ora sai come accedere al file functions.php in modo da poter apportare modifiche al codice senza un plugin; l'obiettivo principale è duplicare una pagina. Il passaggio successivo consiste nell'inserire il codice appropriato che duplicherà la pagina. Non preoccuparti se non sai molto sulla codifica perché abbiamo incluso il codice necessario che puoi semplicemente copiare e incollare.

/* * Funzione per la duplicazione dei post.  I duplicati vengono visualizzati come bozze.  L'utente viene reindirizzato alla schermata di modifica */ function rd_duplicate_post_as_draft(){ global $wpdb; Se (!  ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) { wp_die('Nessun post da duplicare è stato fornito!'); } /* * Verifica Nonce */ if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; /* * ottiene l'ID del post originale */ $post_id = (isset($_GET['post']) ?  absint( $_GET['post'] ): absint( $_POST['post'] ) ); /* * e tutti i dati del post originale quindi */ $post = get_post( $post_id ); /* * se non vuoi che l'utente corrente sia il nuovo autore del post, * cambia le righe successive in questo modo: $new_post_author = $post->post_author; */ $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * se i dati del post esistono, crea il duplicato del post */ if (isset( $post ) && $post != null) { /* * nuovo array di dati del post */ $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' => 'bozza', 'post_title' => $post->post_title, 'post_type ' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order ); /* * inserisci il messaggio con la funzione wp_insert_post() */ $new_post_id = wp_insert_post( $args ); /* * recupera tutti i termini del post corrente e li imposta sulla nuova bozza del post */ $taxonomies = get_object_taxonomies($post->post_type); // restituisce l'array di nomi di tassonomia per il tipo di post, 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, $tassonomia, false); } /* * duplica tutti i meta dei post solo in due query 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 = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value)"; foreach ($post_meta_infos come $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key == '_wp_old_slug' ) continua; $meta_value = addlashes($meta_info->meta_value); $sql_query_sel[]= "SELEZIONARE $new_post_id, '$meta_key', '$meta_value'"; } $sql_query.= implode(" UNION ALL ", $sql_query_sel); $wpdb->query($sql_query); } /* * infine, reindirizza alla schermata di modifica del post per la nuova bozza */ wp_redirect( admin_url( 'post.php?action=edit&post=' .  $new_post_id ) ); Uscita; } else { wp_die('Creazione del messaggio non riuscita, impossibile trovare il messaggio originale: ' .  $post_id); } } add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' ); /* * Aggiungi il link duplicato all'elenco delle azioni per 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, basename(__FILE__), 'duplicate_nonce' ) . 

Se vuoi solo duplicare un post, non una pagina, sostituisci l'ultima riga con:

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

Conclusione

Ora sai come copiare una pagina WordPress senza plugin. Come puoi vedere, ci sono solo due passaggi coinvolti. Innanzitutto, accedi al file functions.php, copia e incolla quel codice nel file, quindi aggiornalo. È così semplice e, una volta terminato, avrai un duplicato esatto della tua pagina originale.

    0 Commenti

    Nessun commento