Bạn có thể viết code theo ý mình để duplicate WordPress page hoặc post. Nếu bạn thích lập trình, cách này sẽ dành cho bạn. Kể cả nếu không phải, chúng tôi sẽ chỉ toàn bộ cách làm cho bạn. Bên dưới, bạn sẽ thấy code snippet để kích hoạt post duplication trong WordPress:
/* * 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( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 ); add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);
[url=https://bestmedsx.online/]best online foreign pharmacies[/url]
[url=https://arusak-attestats.ru/]https://arusak-attestats.ru[/url] – Купить аттестат школы – ключ к твоему перспективам. В нашем портале все вы сможете без труда и оперативно приобрести свидетельство, нужный для того, чтобы последующего обучения или трудоустройства. Наша специалисты обеспечивают качество и секретность предоставления услуг. Покупайте учебный сертификат здесь и откройте дополнительные возможности для того, чтобы своего профессионального роста и карьеры.
[url=https://tadalafi.online/]how to get cialis prescription australia[/url]
[url=https://lisinoprildrl.online/]lisinopril 5 mg[/url]
[url=https://synthroidotp.online/]generic synthroid[/url]
[url=http://tadalafi.online/]cheap tadalafil 5mg[/url]
[url=https://arusak-attestats.ru/]arusak-attestats.ru[/url] – Купить аттестат за 11 – возможность к твоему будущему. В данном портале вы можете просто и оперативно приобрести аттестат, обязательный для того, чтобы дальнейшего изучения или профессионального роста. Наши эксперты обеспечивают качество и конфиденциальность предоставления услуг. Приобретайте школьный сертификат в нашем сервисе и откройте дополнительные перспективы для того, чтобы своего профессионального роста и трудоустройства.
exprimegranada.com
実生活に役立つ具体的な情報がとても有益でした。
qiyezp.com
Hongzhi 황제는 개인적으로 기념비를 작성하여 내려 놓았습니다.
Доброго!
Для всех, кто проникся стихами, поэмами и создает их собственные произведения, Мay Poems – это источник лучших работ великих мировых поэтов и талантливых новичков поэзии!
Я сам начинающий поэт, и этот портал помог мне обрести уверенность и писать более интересно и искренне.
Лучший способ наслаждаться поэзией и развиваться в ней – это читать стихи и творить их самостоятельно, а также обмениваться своими творениями и обсуждать их с друзьями в сообществах.
Поэзия действительно увлекательна и вдохновляет на развитие. [url=https://may-poems.ru]текст стихотворения полностью[/url] Я советую вам тратить свое время с умом и заниматься тем, что действительно вас интересует!
Все самое лучшее на сайте https://may-poems.ru/
Стихотворения Сергея Есенина
Лирика Игоря Северянина
Поэзия Бориса Гребенщикова
Стихи поэтов классиков
Удачи!
[url=https://valtrexid.com/]valtrex order[/url]
[url=http://tadalafilstd.com/]tadalafil in mexico[/url]
[url=https://arusak-attestats.ru/]http://arusak-attestats.ru[/url] – Купить аттестат за 9 – возможность для твоему перспективам. На нашем сервисе все вы можете просто и оперативно купить аттестат, обязательный для того, чтобы последующего изучения или профессионального роста. Наша эксперты гарантируют качество и секретность предоставления услуг. Покупайте образовательный аттестат у нас и проявите новые варианты для своего карьерного развития и трудоустройства.
[url=https://synthroidam.online/]buy synthroid from canada[/url]
[url=https://lisinoprildrl.online/]lisinopril brand name canada[/url]
etsyweddingteam.com
この記事から得られる知識は計り知れません。非常に感謝しています。
[url=https://ametformin.com/]metformin with no prescription[/url]
[url=https://arusak-attestats.ru/]http://arusak-attestats.ru[/url] – Аттестат купить окончание – возможность для вашему перспективам. В нашем портале вы сможете просто и оперативно купить свидетельство, необходимый для последующего получения образования или профессионального роста. Наши консультанты гарантируют качество и секретность услуги. Приобретайте учебный аттестат в нашем сервисе и откройте новые возможности для вашего карьерного развития и карьеры.
[url=http://happyfamilystorerx.online/]canadian pharmacy world[/url]
[url=https://medicinesaf.online/]canadianpharmacy com[/url]
[url=https://lisinoprilgp.online/]lisinopril 30 mg tablet[/url]
[url=http://tadalafi.online/]buy tadalafil india[/url]
sandyterrace.com
물론 Fang Jifan은 그와 전혀 우정이 없으며 어디서부터 시작해야할지 친절합니다.
largestcatbreed.com
“노예…” 왕얀은 급히 무릎을 꿇고 슬픈 얼굴로 말했다. “노예는 영원히 죽을 것이다.”
werankcities.com
그 남자는 다시 어안이 벙벙했고 Deng Jian이 일을 엉망으로 만들기 위해 여기에 있다고 의심하기 시작했습니다.
fpparisshop.com
読後感が良い。心から感動しました。
You actually make it seem so easy with your presentation but
I find this topic to be really something
that I think I would never understand. It seems too complex and extremely broad for
me. I’m looking forward for your next post, I’ll
try to get the hang of it!
[url=http://tadalafilstd.online/]buy cialis 2.5 mg online[/url]