WordPress est une plateforme de blogs. Un blog n’est rien d’autre qu’une collection d’articles. Dans certains scénarios, vous souhaiterez peut-être partager votre liste de publications avec quelqu’un via le fichier CSV. Il sera utile de jeter un coup d’œil rapide à tous les messages sans vous connecter au tableau de bord. En utilisant un tel CSV, vous pouvez facilement trouver le titre du message et son lien permanent. Dans cet article, je vous montre comment exporter des publications au format CSV dans WordPress.
Je vais ajouter un bouton personnalisé sur la page de liste des publications du backend. En cliquant sur ce bouton, le fichier CSV se télécharge automatiquement et contient des informations sur les publications.
Par exemple, j’exporte un titre de publication, une URL de publication, des catégories et des balises vers le fichier CSV. L’utilisateur peut y ajouter d’autres champs. La sortie finale ressemblera à la capture d’écran ci-dessous.
Ajouter un bouton personnalisé sur la liste des articles
Pour générer le CSV, nous devons d’abord donner un bouton sur la liste des publications du backend. De plus, nous écrirons du code qui génère un fichier CSV en cliquant sur ce bouton.
Ouvrez votre functions.php
fichier et placez-y le code ci-dessous.
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 );
Le code ci-dessus ajoutera le bouton « Exporter tous les messages » sur la liste des messages, comme indiqué dans la capture d’écran. Ici, j’ai utilisé le crochet manage_posts_extra_tablenav
pour placer le bouton personnalisé sur la page "Tous les messages".
Code réel pour l’exportation des publications au format CSV
A ce stade, vous êtes prêt avec votre bouton personnalisé qui devrait générer le CSV. Maintenant, ajoutons un code qui génère le CSV en cliquant sur un bouton et envoyons-le au navigateur pour le télécharger.
Ajoutez le code ci-dessous dans le functions.php
fichier.
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' );
C’est ça! Vas-y, essaies. Vous devriez obtenir le fichier CSV avec les informations de votre message.
J’espère que vous comprenez comment exporter des articles au format CSV dans WordPress. S’il vous plaît partager vos pensées et suggestions dans la section commentaires ci-dessous.
Articles Liés
- Comment ajouter du code après la balise Body dans WordPress
- Ajout d’un bouton d’image personnalisé avec Media Uploader dans WordPress
- Afficher les articles d’une catégorie spécifique sur une page WordPress