Skip to content

Como clonar ou duplicar um site no WordPress sem plug-ins

28 de abril de 2021

A internet é um dos ferramentas mais úteis que o homem inventou neste tempo e serviu a múltiplas tarefas. Vão desde ter todas as informações que você deseja na palma da sua mão até poder trabalhá-las e ter uma grande renda

Existem várias ferramentas que fornecem a você o serviço de hospedagem seu site, mas nenhum como o WordPress. Esta é uma excelente ferramenta de gerenciamento de páginas que fornecerá tudo que você precisa para ter uma página finalizada profissionalmente, graças ao fato de que você pode instalar diferentes modelos ou temas no WordPress.

Como duplicar uma página sem Plugins?

Antes de começar é aconselhável que você faça um backup desta forma, se você cometer algum erro ao fazer o processo, você pode restaurar tudo novamente. Dito isso, vamos começar com uma explicação de como clone ou duplique uma página da web no WordPress facilmente, sem plug-ins. Você também terá interesse em saber sobre os melhores plug-ins para fazer layout e editar no WordPress.

O único método não é apenas usar plug-ins, você pode fazer isso por meio de um código que irá duplicar as páginas do WordPress, você deve usar o seguinte código:

  • / *
  • * Função para duplicação de post. Dups aparecem como rascunhos. O usuário é redirecionado para a tela de edição
  • * /
  • 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 (‘Nenhuma postagem para duplicar foi fornecida!’);
  • }
  • / *
  • * Verificação Nonce
  • * /
  • if (! isset ($ _GET[‘duplicate_nonce’] ) || ! wp_verify_nonce ($ _GET[‘duplicate_nonce’], nome de base (__FILE__)))
  • Retorna;
  • / *
  • * obter o ID da postagem original
  • * /
  • $ post_id = (isset ($ _ GET[‘post’])? absint ($ _GET[‘post’] ): absinto ($ _POST[‘post’] ));
  • / *
  • * e todos os dados originais da postagem, então
  • * /
  • $ post = get_post ($ post_id);
  • / *
  • * se você não quiser que o usuário atual seja o novo autor da postagem,
  • * então mude as próximas linhas para este: $ new_post_author = $ post-> post_author;
  • * /
  • $ current_user = wp_get_current_user ();
  • $ new_post_author = $ current_user-> ID;
  • / *
  • * se houver dados de postagem, crie uma cópia da postagem
  • * /
  • if (isset ($ post) && $ post! = null) {
  • / *
  • * nova matriz de dados de postagem
  • * /
  • $ 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
  • );
  • / *
  • * insira a postagem pela função wp_insert_post ()
  • * /
  • $ new_post_id = wp_insert_post ($ args);
  • / *
  • * obter todos os termos de postagem atuais e defini-los para o novo rascunho de postagem
  • * /
  • $ taxonomies = get_object_taxonomies ($ post-> post_type); // retorna array de nomes de taxonomia para tipo de postagem, ex array (“categoria”, “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);
  • }
  • / *
  • * duplique todos os post meta apenas em duas consultas SQL
  • * /
  • $ post_meta_infos = $ wpdb-> get_results (“SELECT meta_key, meta_value FROM $ wpdb-> postmeta WHERE post_id = $ post_id”);
  • if (contagem ($ 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 = adicionalashes ($ 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);
  • }
  • / *
  • * finalmente, redirecione para a tela de edição de postagem para o novo rascunho
  • * /
  • wp_redirect (admin_url (‘post.php? action = editar & post =’. $ new_post_id));
  • saída;
  • } senão {
  • wp_die (‘Falha na criação da postagem, não foi possível encontrar a postagem original:’. $ post_id);
  • }
  • }
  • add_action (‘admin_action_rd_duplicate_post_as_draft’, ‘rd_duplicate_post_as_draft’);
  • / *
  • * Adicione o link duplicado à lista de ações para post_row_actions
  • * /
  • function rd_duplicate_post_link ($ actions, $ post) {
  • if (current_user_can (‘edit_posts’)) {
  • $ ações[‘duplicate’] = ‘

    Recomendado: Como clonar meu site no WordPress em um subdomínio? – Fácil e rápido (exemplo)