...
✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak wyeksportować posty do CSV w WordPress

77

WordPress to platforma blogowa. Blog to nic innego jak zbiór postów. W niektórych sytuacjach możesz chcieć udostępnić komuś swoją listę postów za pośrednictwem pliku CSV. Pomocne będzie szybkie przejrzenie wszystkich postów bez logowania się do pulpitu nawigacyjnego. Używając takiego CSV, możesz łatwo znaleźć tytuł posta i jego bezpośredni link. W tym artykule pokażę, jak eksportować posty do CSV w WordPressie.

Zamierzam dodać jeden niestandardowy przycisk na stronie z listą postów zaplecza. Po kliknięciu tego przycisku plik CSV zostanie pobrany automatycznie, który zawiera informacje o postach.

Na przykład eksportuję tytuł posta, adres URL posta, kategorie i tagi do pliku CSV. Użytkownik może dodać do niego więcej pól. Ostateczny wynik będzie podobny do poniższego zrzutu ekranu.

Jak wyeksportować posty do CSV w WordPress

Dodaj niestandardowy przycisk na liście wpisów

Aby wygenerować plik CSV, najpierw musimy podać przycisk na liście postów zaplecza. Dodatkowo napiszemy kod, który po kliknięciu tego przycisku wygeneruje plik CSV.

Otwórz swój functions.phpplik i umieść w nim poniższy kod.

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 );

Powyższy kod doda przycisk „Eksportuj wszystkie posty" na liście postów, jak pokazano na zrzucie ekranu. Tutaj użyłem haka, manage_posts_extra_tablenavaby umieścić niestandardowy przycisk na stronie „Wszystkie posty”.

Jak wyeksportować posty do CSV w WordPress

Rzeczywisty kod eksportu postów do CSV

Na tym etapie jesteś gotowy z własnym przyciskiem, który powinien wygenerować plik CSV. Teraz dodajmy kod, który po kliknięciu przycisku generuje plik CSV i wysyła go do przeglądarki w celu pobrania.

Dodaj poniższy kod do functions.phppliku.

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' );

Otóż ​​to! Śmiało i spróbuj. Powinieneś otrzymać plik CSV wraz z informacjami o swoim poście.

Mam nadzieję, że rozumiesz, jak eksportować posty do CSV w WordPressie. Podziel się swoimi przemyśleniami i sugestiami w sekcji komentarzy poniżej.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów