Cum să duplicați corect paginile în WordPress (cu 2 moduri)

Publicat: 2022-09-23

Nu pierdeți timpul duplicând manual fiecare pagină din site-ul dvs. WordPress. Dacă intenționați să duplicați multe pagini, permiteți-ne să vă arătăm 2 soluții pentru a duplica Pagini în WordPress într-un mod ușor și care economisește timp.

Când trebuie să duplicați Pagini în WordPress?

Uneori, trebuie să duplicați pagini în WordPress pentru a prezenta conținut diferit, dar în același aspect de pagină. Puteți face acest lucru manual, ceea ce înseamnă că trebuie să copiați șablonul și elementele SEO, inclusiv meta descrieri și etichete de titlu. Și acest proces se repetă de multe ori, ceea ce vă necesită timp și efort.

Dacă aveți nevoie de o altă soluție care este mai convenabilă și care economisește timp, dar totuși extrem de eficientă, o sugestie pentru dvs. este să duplicați paginile în WordPress prin pluginuri sau fișierul functions.php. Astăzi, am dori să vă aducem instrucțiuni detaliate despre asta. Să începem!

Cum să duplicați pagini în WordPress

De fapt, există două metode principale de a duplica pagini în WordPress. Prima este să utilizați pluginuri WordPress Duplicator pentru a face asta. Și alta este să adăugați cod în fișierul functions.php pentru a genera pagini duplicate sau chiar postări duplicate.

Cu toate acestea, vă recomandăm să alegeți un plugin pentru a vă îndeplini obiectivele. Adăugarea de cod la editorul de fișiere de teme cauzează uneori o eroare pentru site-ul dvs. WordPress și totul devine complicat. Deci, este o idee bună să obțineți o soluție sigură.

Folosind pluginuri pentru a duplica Pagini în WordPress

Sincer să fiu, pe piața actuală apar numeroase plugin-uri la îndemână care vă ajută să duplicați paginile în WordPress. Cu toate acestea, am dori să introducem două pluginuri ușor de utilizat și eficiente: Yoast Duplicate Post și Duplicate Page and Post.

Acum, să aruncăm o privire la instrucțiunile detaliate pentru a utiliza Yoast Duplicate Post pentru site-ul dvs. WordPress.

  • Conectați-vă la tabloul de bord WordPress -> Accesați Pluginuri -> Adăugați nou .
  • Găsiți Yoast Duplicate Post -> Instalați și activați -l.
  • Pe tabloul de bord administrativ, alegeți Deschideți pagina -> Toate paginile .
  • Selectați pagina pe care doriți să o duplicați, vor exista 2 opțiuni noi: Clonează și Schiță nouă .
  • Dacă sperați să duplicați pagini în WordPress , faceți clic pe butonul Clonează . În cazul în care trebuie să generați o pagină nouă care să conțină conținut copiat , să alegem opțiunea Schiță nouă .

Doar Yoast Duplicați postarea pentru a duplica paginile în Wordpress

Un alt plugin care te ajută să clonezi pagina curentă este Duplicate Page and Post . Să urmăm pasul de mai jos:

  • Conectați-vă la tabloul de bord WordPress -> Accesați Pluginuri -> Adăugați nou .
  • Căutați Duplicate Page and Post -> Instalați și activați -l.
  • Accesați Pagina deschisă -> Toate paginile .
  • Faceți clic pe pagina pe care trebuie să o copiați, va apărea opțiunea Duplicare pentru a face asta. După ce apăsați pe ea, o nouă schiță va fi disponibilă pentru a edita conținutul.

Utilizați pagina duplicată și postați pentru a duplica pagini în Wordpress

Utilizarea fișierului Functions.php pentru a duplica Pagini în WordPress

A doua modalitate de a duplica paginile în WordPress este introducerea codului în fișierul Functions.php. Pentru a face asta, să deschidem Aspect -> Editor de fișiere temă -> Functions.php .

Duplicați pagini în Wordpress prin Functions.php

Acum, este timpul să duplicați pagini în WordPress adăugând următorul fragment de cod în fișierul functions.php:

/*
* 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('page_row_actions', 'rd_duplicate_post_link', 10, 2);

Învelire

Pe scurt, să economisim timp în clonarea paginilor urmând una dintre cele două metode de a duplica paginile din WordPress de mai sus. Dacă aveți probleme legate de subiecte, de ce nu lăsați comentariul dvs. mai jos pentru a vă putea sprijini?

Nu în ultimul rând, nu uitați că piața noastră oferă numeroase teme WordPress gratuite pentru dispozitive mobile și atrăgătoare. Deci, nu le ratați dacă aveți nevoie să obțineți o nouă temă pentru site-ul dvs. WordPress!