{"id":28514,"date":"2021-05-27T15:56:00","date_gmt":"2021-05-27T12:56:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28514"},"modified":"2021-10-17T16:41:56","modified_gmt":"2021-10-17T13:41:56","slug":"como-exportar-publicaciones-a-csv-en-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-exportar-publicaciones-a-csv-en-wordpress\/","title":{"rendered":"C\u00f3mo exportar publicaciones a CSV en WordPress"},"content":{"rendered":"<p>WordPress es una plataforma de blogs. Un blog no es m\u00e1s que una colecci\u00f3n de publicaciones. En algunos escenarios, es posible que desee compartir su lista de publicaciones con alguien a trav\u00e9s del archivo CSV. Ser\u00e1 \u00fatil echar un vistazo r\u00e1pido a todas las publicaciones sin iniciar sesi\u00f3n en el panel. Con dicho CSV, puede encontrar f\u00e1cilmente el t\u00edtulo de la publicaci\u00f3n y su enlace permanente. En este art\u00edculo, le muestro c\u00f3mo exportar publicaciones a CSV en WordPress.<\/p>\n<p>Voy a agregar un bot\u00f3n personalizado en la p\u00e1gina de listado de publicaciones de backend. Al hacer clic en este bot\u00f3n, el archivo CSV se descargar\u00eda autom\u00e1ticamente y contiene informaci\u00f3n sobre las publicaciones.<\/p>\n<p>Por ejemplo, estoy exportando el t\u00edtulo de una publicaci\u00f3n, la URL de la publicaci\u00f3n, las categor\u00edas y las etiquetas al archivo CSV. El usuario puede agregarle m\u00e1s campos. El resultado final ser\u00e1 algo as\u00ed como la captura de pantalla a continuaci\u00f3n.<\/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=\"C\u00f3mo exportar publicaciones a CSV en WordPress\" ><\/a><\/p>\n<h3>Agregar bot\u00f3n personalizado en la lista de publicaciones<\/h3>\n<p>Para generar el CSV, primero debemos dar un bot\u00f3n en la lista de publicaciones de backend. Adem\u00e1s, escribiremos c\u00f3digo que genera un CSV al hacer clic en este bot\u00f3n.<\/p>\n<p>Abra su <code>functions.php<\/code>archivo y coloque el siguiente c\u00f3digo en \u00e9l.<\/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>El c\u00f3digo anterior agregar\u00e1 el bot\u00f3n &#8216;Exportar todas las publicaciones&#8217; en la lista de publicaciones como se muestra en la captura de pantalla. Aqu\u00ed, he usado el gancho <code>manage_posts_extra_tablenav<\/code>para colocar el bot\u00f3n personalizado en la p\u00e1gina &#8216;Todas las publicaciones&#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=\"C\u00f3mo exportar publicaciones a CSV en WordPress\" ><\/a><\/p>\n<h3>C\u00f3digo real para exportar publicaciones a CSV<\/h3>\n<p>En esta etapa, est\u00e1 listo con su bot\u00f3n personalizado que deber\u00eda generar el CSV. Ahora, agreguemos un c\u00f3digo que genere el CSV con solo hacer clic en un bot\u00f3n y env\u00edelo al navegador para descargarlo.<\/p>\n<p>Agregue el siguiente c\u00f3digo en el <code>functions.php<\/code>archivo.<\/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>\u00a1Eso es! Adelante y pruebalo. Deber\u00eda obtener el archivo CSV junto con la informaci\u00f3n de su publicaci\u00f3n.<\/p>\n<p>Espero que entiendas c\u00f3mo exportar publicaciones a CSV en WordPress. Comparta sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-agregar-codigo-despues-de-la-etiqueta-del-cuerpo-en-wordpress\/\" title=\"C\u00f3mo agregar c\u00f3digo despu\u00e9s de la etiqueta del cuerpo en WordPress\" >C\u00f3mo agregar c\u00f3digo despu\u00e9s de la etiqueta del cuerpo en WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/agregar-un-boton-de-imagen-personalizado-con-el-cargador-de-medios-en-wordpress\/\" title=\"Agregar un bot\u00f3n de imagen personalizado con el cargador de medios en WordPress\" >Agregar un bot\u00f3n de imagen personalizado con el cargador de medios en WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/mostrar-publicaciones-de-una-categoria-especifica-en-una-pagina-de-wordpress\/\" title=\"Mostrar publicaciones de una categor\u00eda espec\u00edfica en una p\u00e1gina de WordPress\" >Mostrar publicaciones de una categor\u00eda espec\u00edfica en una p\u00e1gina de WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, le muestro c\u00f3mo exportar publicaciones a CSV en WordPress. De esta manera, es f\u00e1cil encontrar sus publicaciones y sus URL.<\/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":[410,495,271,606],"tags":[849],"class_list":["post-28514","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diverso","category-laravel","category-php-2","category-uncategorized-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=28514"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28514\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21655"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}