{"id":24899,"date":"2021-05-27T15:20:00","date_gmt":"2021-05-27T12:20:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24899"},"modified":"2021-10-17T20:37:18","modified_gmt":"2021-10-17T17:37:18","slug":"kuinka-vieda-viesteja-csv-muotoon-wordpressissa","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuinka-vieda-viesteja-csv-muotoon-wordpressissa\/","title":{"rendered":"Kuinka vied\u00e4 viestej\u00e4 CSV-muotoon WordPressiss\u00e4"},"content":{"rendered":"<p>WordPress on blogiymp\u00e4rist\u00f6. Blogi ei ole muuta kuin kokoelma viestej\u00e4. Joissakin tilanteissa haluat ehk\u00e4 jakaa viestiluettelosi jonkun kanssa CSV-tiedoston kautta. On hy\u00f6dyllist\u00e4 katsoa nopeasti kaikki viestit ilman kirjautumista hallintapaneeliin. T\u00e4llaisen CSV: n avulla l\u00f6yd\u00e4t helposti viestin otsikon ja niiden pysyv\u00e4n linkin. T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4n, kuinka viestej\u00e4 vied\u00e4\u00e4n CSV-muotoon WordPressiss\u00e4.<\/p>\n<p>Aion lis\u00e4t\u00e4 yhden mukautetun painikkeen backend post list -sivulle. Napsauttamalla t\u00e4t\u00e4 painiketta CSV-tiedosto latautuu automaattisesti, joka sis\u00e4lt\u00e4\u00e4 tietoja viesteist\u00e4.<\/p>\n<p>Vie esimerkiksi viestin otsikko, URL-osoite, kategoriat ja tunnisteet CSV-tiedostoon. K\u00e4ytt\u00e4j\u00e4 voi lis\u00e4t\u00e4 siihen lis\u00e4\u00e4 kentti\u00e4. Lopullinen tulos on jotain alla olevan kuvakaappauksen kaltaista.<\/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=\"Kuinka vied\u00e4 viestej\u00e4 CSV-muotoon WordPressiss\u00e4\" ><\/a><\/p>\n<h3>Lis\u00e4\u00e4 mukautettu painike postituslistalle<\/h3>\n<p>CSV: n luomiseksi meid\u00e4n on ensin annettava painike taustaviestin luettelossa. Lis\u00e4ksi kirjoitamme koodin, joka luo CSV: n t\u00e4m\u00e4n painikkeen napsautuksella.<\/p>\n<p>Avaa <code>functions.php<\/code>tiedosto ja aseta siihen alla oleva koodi.<\/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>Yll\u00e4 oleva koodi lis\u00e4\u00e4 &#8217;Vie kaikki viestit&#8217; -painikkeen viestiluetteloon, kuten kuvakaappauksessa n\u00e4kyy. T\u00e4ss\u00e4 olen k\u00e4ytt\u00e4nyt koukkua <code>manage_posts_extra_tablenav<\/code>mukautetun painikkeen sijoittamiseen Kaikki viestit -sivulle.<\/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=\"Kuinka vied\u00e4 viestej\u00e4 CSV-muotoon WordPressiss\u00e4\" ><\/a><\/p>\n<h3>Todellinen koodi viestej\u00e4 vied\u00e4 CSV-tiedostoon<\/h3>\n<p>T\u00e4ss\u00e4 vaiheessa olet valmis mukautetulla painikkeellasi, jonka pit\u00e4isi luoda CSV. Lis\u00e4\u00e4 nyt koodi, joka luo CSV: n napin painalluksella, ja l\u00e4het\u00e4 se selaimeen sen lataamista varten.<\/p>\n<p>Lis\u00e4\u00e4 alla oleva koodi <code>functions.php<\/code>tiedostoon.<\/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>Se siit\u00e4! Mene eteenp\u00e4in ja kokeile sit\u00e4. Sinun tulisi hankkia CSV-tiedosto postisi tietojen kanssa.<\/p>\n<p>Toivon, ett\u00e4 ymm\u00e4rr\u00e4t, kuinka viestej\u00e4 vied\u00e4\u00e4n CSV-muotoon WordPressiss\u00e4. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-lisata-koodia-body-tagin-jalkeen-wordpressissa\/\" title=\"Kuinka lis\u00e4t\u00e4 koodia Body Tagin j\u00e4lkeen WordPressiss\u00e4\" >Kuinka lis\u00e4t\u00e4 koodia Body Tagin j\u00e4lkeen WordPressiss\u00e4<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/mukautetun-kuvapainikkeen-lisaaminen-media-uploader-ohjelmalla-wordpressissa\/\" title=\"Mukautetun kuvapainikkeen lis\u00e4\u00e4minen Media Uploader -ohjelmalla WordPressiss\u00e4\" >Mukautetun kuvapainikkeen lis\u00e4\u00e4minen Media Uploader -ohjelmalla WordPressiss\u00e4<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/nayta-tietyn-luokan-viestit-wordpress-sivulla\/\" title=\"N\u00e4yt\u00e4 tietyn luokan viestit WordPress-sivulla\" >N\u00e4yt\u00e4 tietyn luokan viestit WordPress-sivulla<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4n, kuinka viestej\u00e4 vied\u00e4\u00e4n CSV-muotoon WordPressiss\u00e4. T\u00e4ll\u00e4 tavoin on helppo l\u00f6yt\u00e4\u00e4 viestisi ja sen URL-osoitteet.<\/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":[499,275,414,610],"tags":[843],"class_list":["post-24899","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","category-php-6","category-sekalaisia","category-uncategorized-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24899"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24899\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21655"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}