{"id":28542,"date":"2021-05-27T15:59:00","date_gmt":"2021-05-27T12:59:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28542"},"modified":"2021-10-18T03:41:28","modified_gmt":"2021-10-18T00:41:28","slug":"jak-wyeksportowac-posty-do-csv-w-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-wyeksportowac-posty-do-csv-w-wordpress\/","title":{"rendered":"Jak wyeksportowa\u0107 posty do CSV w WordPress"},"content":{"rendered":"<p>WordPress to platforma blogowa. Blog to nic innego jak zbi\u00f3r post\u00f3w. W niekt\u00f3rych sytuacjach mo\u017cesz chcie\u0107 udost\u0119pni\u0107 komu\u015b swoj\u0105 list\u0119 post\u00f3w za po\u015brednictwem pliku CSV. Pomocne b\u0119dzie szybkie przejrzenie wszystkich post\u00f3w bez logowania si\u0119 do pulpitu nawigacyjnego. U\u017cywaj\u0105c takiego CSV, mo\u017cesz \u0142atwo znale\u017a\u0107 tytu\u0142 posta i jego bezpo\u015bredni link. W tym artykule poka\u017c\u0119, jak eksportowa\u0107 posty do CSV w WordPressie.<\/p>\n<p>Zamierzam doda\u0107 jeden niestandardowy przycisk na stronie z list\u0105 post\u00f3w zaplecza. Po klikni\u0119ciu tego przycisku plik CSV zostanie pobrany automatycznie, kt\u00f3ry zawiera informacje o postach.<\/p>\n<p>Na przyk\u0142ad eksportuj\u0119 tytu\u0142 posta, adres URL posta, kategorie i tagi do pliku CSV. U\u017cytkownik mo\u017ce doda\u0107 do niego wi\u0119cej p\u00f3l. Ostateczny wynik b\u0119dzie podobny do poni\u017cszego zrzutu ekranu.<\/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=\"Jak wyeksportowa\u0107 posty do CSV w WordPress\" ><\/a><\/p>\n<h3>Dodaj niestandardowy przycisk na li\u015bcie wpis\u00f3w<\/h3>\n<p>Aby wygenerowa\u0107 plik CSV, najpierw musimy poda\u0107 przycisk na li\u015bcie post\u00f3w zaplecza. Dodatkowo napiszemy kod, kt\u00f3ry po klikni\u0119ciu tego przycisku wygeneruje plik CSV.<\/p>\n<p>Otw\u00f3rz sw\u00f3j <code>functions.php<\/code>plik i umie\u015b\u0107 w nim poni\u017cszy kod.<\/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>Powy\u017cszy kod doda przycisk \u201eEksportuj wszystkie posty&quot; na li\u015bcie post\u00f3w, jak pokazano na zrzucie ekranu. Tutaj u\u017cy\u0142em haka, <code>manage_posts_extra_tablenav<\/code>aby umie\u015bci\u0107 niestandardowy przycisk na stronie \u201eWszystkie posty&#8221;.<\/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=\"Jak wyeksportowa\u0107 posty do CSV w WordPress\" ><\/a><\/p>\n<h3>Rzeczywisty kod eksportu post\u00f3w do CSV<\/h3>\n<p>Na tym etapie jeste\u015b gotowy z w\u0142asnym przyciskiem, kt\u00f3ry powinien wygenerowa\u0107 plik CSV. Teraz dodajmy kod, kt\u00f3ry po klikni\u0119ciu przycisku generuje plik CSV i wysy\u0142a go do przegl\u0105darki w celu pobrania.<\/p>\n<p>Dodaj poni\u017cszy kod do <code>functions.php<\/code>pliku.<\/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>Ot\u00f3\u017c \u200b\u200bto! \u015amia\u0142o i spr\u00f3buj. Powiniene\u015b otrzyma\u0107 plik CSV wraz z informacjami o swoim po\u015bcie.<\/p>\n<p>Mam nadziej\u0119, \u017ce rozumiesz, jak eksportowa\u0107 posty do CSV w WordPressie. Podziel si\u0119 swoimi przemy\u015bleniami i sugestiami w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-dodac-kod-po-tagu-body-w-wordpressie\/\" title=\"Jak doda\u0107 kod po tagu Body w WordPressie\" >Jak doda\u0107 kod po tagu Body w WordPressie<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/dodawanie-niestandardowego-przycisku-obrazu-za-pomoca-programu-media-uploader-w-wordpress\/\" title=\"Dodawanie niestandardowego przycisku obrazu za pomoc\u0105 programu Media Uploader w WordPress\" >Dodawanie niestandardowego przycisku obrazu za pomoc\u0105 programu Media Uploader w WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/wyswietlaj-posty-z-okreslonej-kategorii-na-stronie-wordpress\/\" title=\"Wy\u015bwietlaj posty z okre\u015blonej kategorii na stronie WordPress\" >Wy\u015bwietlaj posty z okre\u015blonej kategorii na stronie WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tym artykule poka\u017c\u0119, jak eksportowa\u0107 posty do CSV w WordPressie. W ten spos\u00f3b \u0142atwo jest znale\u017a\u0107 swoje posty i ich adresy 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":[501,277,416,612],"tags":[847],"class_list":["post-28542","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","category-php-8","category-roznorodny","category-uncategorized-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=28542"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28542\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21655"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}