✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como exportar postagens para CSV no WordPress

155

WordPress é uma plataforma de blog. Um blog nada mais é que uma coleção de postagens. Em alguns cenários, você pode querer compartilhar sua lista de postagens com alguém por meio do arquivo CSV. Será útil dar uma olhada rápida em todas as postagens sem fazer login no painel. Usando esse CSV, você pode encontrar facilmente o título do post e seu link permanente. Neste artigo, mostro como exportar postagens para CSV no WordPress.

Vou adicionar um botão personalizado na página de listagem de postagens de back-end. Ao clicar neste botão, o arquivo CSV seria baixado automaticamente que contém informações sobre as postagens.

Por exemplo, estou exportando um título de postagem, URL de postagem, categorias e tags para o arquivo CSV. O usuário pode adicionar mais campos a ele. O resultado final será algo como a imagem abaixo.

Como exportar postagens para CSV no WordPress

Adicionar botão personalizado na lista de postagens

Para gerar o CSV, primeiro precisamos fornecer um botão na lista de postagens de back-end. Além disso, iremos escrever um código que gere um CSV com o clique deste botão.

Abra seu functions.phparquivo e coloque o código abaixo nele.

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

O código acima adicionará o botão ‘Exportar todas as postagens’ na lista de postagens, conforme mostrado na imagem. Aqui, usei o gancho manage_posts_extra_tablenavpara colocar o botão personalizado na página ‘Todas as postagens’.

Como exportar postagens para CSV no WordPress

Código real para exportar postagens para CSV

Neste estágio, você está pronto com seu botão personalizado que deve gerar o CSV. Agora, vamos adicionar um código que gere o CSV com o clique de um botão e enviá-lo ao navegador para baixá-lo.

Adicione o código abaixo no functions.phparquivo.

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

É isso! Vá em frente e experimente. Você deve obter o arquivo CSV junto com as informações de sua postagem.

Espero que você entenda como exportar posts para CSV no WordPress. Por favor, compartilhe seus pensamentos e sugestões na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação