{"id":27901,"date":"2021-05-27T15:26:00","date_gmt":"2021-05-27T12:26:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27901"},"modified":"2021-10-18T04:08:48","modified_gmt":"2021-10-18T01:08:48","slug":"como-exportar-postagens-para-csv-no-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-exportar-postagens-para-csv-no-wordpress\/","title":{"rendered":"Como exportar postagens para CSV no WordPress"},"content":{"rendered":"<p>WordPress \u00e9 uma plataforma de blog. Um blog nada mais \u00e9 que uma cole\u00e7\u00e3o de postagens. Em alguns cen\u00e1rios, voc\u00ea pode querer compartilhar sua lista de postagens com algu\u00e9m por meio do arquivo CSV. Ser\u00e1 \u00fatil dar uma olhada r\u00e1pida em todas as postagens sem fazer login no painel. Usando esse CSV, voc\u00ea pode encontrar facilmente o t\u00edtulo do post e seu link permanente. Neste artigo, mostro como exportar postagens para CSV no WordPress.<\/p>\n<p>Vou adicionar um bot\u00e3o personalizado na p\u00e1gina de listagem de postagens de back-end. Ao clicar neste bot\u00e3o, o arquivo CSV seria baixado automaticamente que cont\u00e9m informa\u00e7\u00f5es sobre as postagens.<\/p>\n<p>Por exemplo, estou exportando um t\u00edtulo de postagem, URL de postagem, categorias e tags para o arquivo CSV. O usu\u00e1rio pode adicionar mais campos a ele. O resultado final ser\u00e1 algo como a imagem abaixo.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20449-6081f373cc10a.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20449-6081f373cc10a.png\" alt=\"Como exportar postagens para CSV no WordPress\" ><\/a><\/p>\n<h3>Adicionar bot\u00e3o personalizado na lista de postagens<\/h3>\n<p>Para gerar o CSV, primeiro precisamos fornecer um bot\u00e3o na lista de postagens de back-end. Al\u00e9m disso, iremos escrever um c\u00f3digo que gere um CSV com o clique deste bot\u00e3o.<\/p>\n<p>Abra seu <code>functions.php<\/code>arquivo e coloque o c\u00f3digo abaixo nele.<\/p>\n<pre><code>function admin_post_list_add_export_button( $which) {\n\u00a0\u00a0\u00a0\u00a0global $typenow;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if ('post' === $typenow &amp;&amp; 'top' === $which) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0?&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"export_all_posts\" class=\"button button-primary\" value=\"&lt;?php _e('Export All Posts'); ?&gt;\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;?php\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\nadd_action( 'manage_posts_extra_tablenav', 'admin_post_list_add_export_button', 20, 1 );<\/code><\/pre>\n<p>O c\u00f3digo acima adicionar\u00e1 o bot\u00e3o &#8216;Exportar todas as postagens&#8217; na lista de postagens, conforme mostrado na imagem. Aqui, usei o gancho <code>manage_posts_extra_tablenav<\/code>para colocar o bot\u00e3o personalizado na p\u00e1gina &#8216;Todas as postagens&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20449-6081f37450770.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20449-6081f37450770.png\" alt=\"Como exportar postagens para CSV no WordPress\" ><\/a><\/p>\n<h3>C\u00f3digo real para exportar postagens para CSV<\/h3>\n<p>Neste est\u00e1gio, voc\u00ea est\u00e1 pronto com seu bot\u00e3o personalizado que deve gerar o CSV. Agora, vamos adicionar um c\u00f3digo que gere o CSV com o clique de um bot\u00e3o e envi\u00e1-lo ao navegador para baix\u00e1-lo.<\/p>\n<p>Adicione o c\u00f3digo abaixo no <code>functions.php<\/code>arquivo.<\/p>\n<pre><code>function func_export_all_posts() {\n\u00a0\u00a0\u00a0\u00a0if(isset($_GET['export_all_posts'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arg = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_type' =&gt; 'post',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post_status' =&gt; 'publish',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'posts_per_page' =&gt; -1,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0global $post;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arr_post = get_posts($arg);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($arr_post) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('Content-type: text\/csv');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('Content-Disposition: attachment; filename=\"wp-posts.csv\"');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('Pragma: no-cache');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('Expires: 0');\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$file = fopen('php:\/\/output', 'w');\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fputcsv($file, array('Post Title', 'URL', 'Categories', 'Tags'));\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($arr_post as $post) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0setup_postdata($post);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$categories = get_the_category();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$cats = array();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!empty($categories)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($categories as $category) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$cats[] = $category-&gt;name;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$post_tags = get_the_tags();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$tags = array();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!empty($post_tags)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($post_tags as $tag) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$tags[] = $tag-&gt;name;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fputcsv($file, array(get_the_title(), get_the_permalink(), implode(\",\", $cats), implode(\",\", $tags)));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0exit();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\nadd_action( 'init', 'func_export_all_posts' );<\/code><\/pre>\n<p>\u00c9 isso! V\u00e1 em frente e experimente. Voc\u00ea deve obter o arquivo CSV junto com as informa\u00e7\u00f5es de sua postagem.<\/p>\n<p>Espero que voc\u00ea entenda como exportar posts para CSV no WordPress. Por favor, compartilhe seus pensamentos e sugest\u00f5es na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-adicionar-codigo-apos-a-tag-do-corpo-no-wordpress\/\" title=\"Como adicionar c\u00f3digo ap\u00f3s a tag do corpo no WordPress\" >Como adicionar c\u00f3digo ap\u00f3s a tag do corpo no WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/adicionar-botao-de-imagem-personalizado-com-o-uploader-de-midia-no-wordpress\/\" title=\"Adicionar bot\u00e3o de imagem personalizado com o uploader de m\u00eddia no WordPress\" >Adicionar bot\u00e3o de imagem personalizado com o uploader de m\u00eddia no WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/exibir-postagens-de-categorias-especificas-em-uma-pagina-do-wordpress\/\" title=\"Exibir postagens de categorias espec\u00edficas em uma p\u00e1gina do WordPress\" >Exibir postagens de categorias espec\u00edficas em uma p\u00e1gina do WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste artigo, mostrarei como exportar postagens para CSV no WordPress. Desta forma, torna-se f\u00e1cil descobrir suas postagens e seus URLs.<\/p>\n","protected":false},"author":1,"featured_media":21655,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[417,502,278,613],"tags":[848],"class_list":["post-27901","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diversos","category-laravel","category-php-9","category-uncategorized-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27901"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27901\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21655"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}