✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur man exporterar inlägg till CSV i WordPress

33

WordPress är en bloggplattform. En blogg är inget annat än en samling inlägg. I vissa scenarier kanske du vill dela din lista med inlägg med någon via CSV-filen. Det kommer att vara till hjälp att titta snabbt på alla inlägg utan att logga in på instrumentpanelen. Med en sådan CSV kan du enkelt hitta inläggstiteln och deras permalänk. I den här artikeln visar jag dig hur du exporterar inlägg till CSV i WordPress.

Jag ska lägga till en anpassad knapp på backend-postlistans sida. När du klickar på den här knappen hämtas CSV-filen automatiskt som innehåller information om inlägg.

Som ett exempel exporterar jag en inläggstitel, inläggs-URL, kategorier och taggar till CSV-filen. Användaren kan lägga till fler fält i den. Den slutliga utdata kommer att vara ungefär som nedan skärmdump.

Hur man exporterar inlägg till CSV i WordPress

Lägg till anpassad knapp i postlistan

För att skapa CSV måste vi först ge en knapp på listan över backend-inlägg. Dessutom skriver vi kod som genererar en CSV genom att klicka på den här knappen.

Öppna din functions.phpfil och placera nedanstående kod i den.

function admin_post_list_add_export_button( $which) {
    global $typenow;
  
    if ('post' === $typenow && 'top' === $which) {
        ?>
        <input type="submit" name="export_all_posts" class="button button-primary" value="<?php _e('Export All Posts'); ?>" />
        <?php
    }
}
 
add_action( 'manage_posts_extra_tablenav', 'admin_post_list_add_export_button', 20, 1 );

Ovanstående kod lägger till knappen ‘Exportera alla inlägg’ på inläggslistan som visas på skärmdumpen. Här har jag använt kroken för manage_posts_extra_tablenavatt placera den anpassade knappen på sidan ‘Alla inlägg’.

Hur man exporterar inlägg till CSV i WordPress

Faktisk kod för export av inlägg till CSV

I det här skedet är du redo med din anpassade knapp som ska generera CSV. Låt oss nu lägga till en kod som genererar CSV genom att klicka på en knapp och skicka den till webbläsaren för nedladdning.

Lägg till koden nedan i functions.phpfilen.

function func_export_all_posts() {
    if(isset($_GET['export_all_posts'])) {
        $arg = array(
            'post_type' => 'post',
            'post_status' => 'publish',
            'posts_per_page' => -1,
        );
  
        global $post;
        $arr_post = get_posts($arg);
        if ($arr_post) {
  
            header('Content-type: text/csv');
            header('Content-Disposition: attachment; filename="wp-posts.csv"');
            header('Pragma: no-cache');
            header('Expires: 0');
  
            $file = fopen('php://output', 'w');
  
            fputcsv($file, array('Post Title', 'URL', 'Categories', 'Tags'));
  
            foreach ($arr_post as $post) {
                setup_postdata($post);
                  
                $categories = get_the_category();
                $cats = array();
                if (!empty($categories)) {
                    foreach ($categories as $category) {
                        $cats[] = $category->name;
                    }
                }
  
                $post_tags = get_the_tags();
                $tags = array();
                if (!empty($post_tags)) {
                    foreach ($post_tags as $tag) {
                        $tags[] = $tag->name;
                    }
                }
  
                fputcsv($file, array(get_the_title(), get_the_permalink(), implode(",", $cats), implode(",", $tags)));
            }
  
            exit();
        }
    }
}
 
add_action( 'init', 'func_export_all_posts' );

Det är allt! Fortsätt och prova. Du bör hämta CSV-filen tillsammans med informationen om ditt inlägg.

Jag hoppas att du förstår hur du exporterar inlägg till CSV i WordPress. Dela dina tankar och förslag i kommentarsektionen nedan.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer