✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come esportare post in CSV in WordPress

61

WordPress è una piattaforma di blogging. Un blog non è altro che una raccolta di post. In alcuni scenari, potresti voler condividere il tuo elenco di post con qualcuno tramite il file CSV. Sarà utile dare una rapida occhiata a tutti i post senza accedere alla dashboard. Usando tale CSV puoi facilmente trovare il titolo del post e il loro permalink. In questo articolo, ti mostro come esportare i post in CSV in WordPress.

Ho intenzione di aggiungere un pulsante personalizzato nella pagina di elenco dei post di backend. Facendo clic su questo pulsante, viene scaricato automaticamente il file CSV che contiene informazioni sui post.

Ad esempio, sto esportando il titolo di un post, l’URL del post, le categorie e i tag nel file CSV. L’utente può aggiungere più campi ad esso. L’output finale sarà qualcosa di simile allo screenshot qui sotto.

Come esportare post in CSV in WordPress

Aggiungi pulsante personalizzato nell’elenco dei post

Per generare il CSV, dobbiamo prima fornire un pulsante nell’elenco dei post di backend. Inoltre, scriveremo il codice che genera un CSV al clic di questo pulsante.

Apri il tuo functions.phpfile e inserisci il codice sottostante.

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

Il codice sopra aggiungerà il pulsante "Esporta tutti i post" nell’elenco dei post come mostrato nello screenshot. Qui, ho usato il gancio manage_posts_extra_tablenavper posizionare il pulsante personalizzato nella pagina "Tutti i post".

Come esportare post in CSV in WordPress

Codice effettivo per l’esportazione di post in CSV

A questo punto, sei pronto con il tuo pulsante personalizzato che dovrebbe generare il CSV. Ora aggiungiamo un codice che genera il CSV al clic di un pulsante e lo inviamo al browser per scaricarlo.

Aggiungi il codice seguente nel functions.phpfile.

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

Questo è tutto! Vai avanti e provaci. Dovresti ottenere il file CSV insieme alle informazioni del tuo post.

Spero che tu capisca come esportare i post in CSV in WordPress. Per favore condividi i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More