Kuidas WordPressis postitusi CSV-ks eksportida
WordPress on ajaveebiplatvorm. Blogi pole midagi muud kui postituste kogu. Mõne stsenaariumi korral võiksite oma postituste loendit kellegagi CSV-faili kaudu jagada. Abiks on kiire ülevaade kõigist postitustest ilma armatuurlauale sisse logimata. Sellist CSV-d kasutades saate hõlpsasti leida postituse pealkirja ja nende püsilingi. Selles artiklis näitan teile, kuidas WordPressis postitusi CSV-vormingus eksportida.
Lisan taustaprogrammi loendi lehele ühe kohandatud nupu. Sellel nupul klõpsates laaditakse CSV-fail automaatselt alla, mis sisaldab teavet postituste kohta.
Näiteks eksportin postituse pealkirja, postituse URL-i, kategooriad ja sildid CSV-faili. Kasutaja saab sellele lisada rohkem välju. Lõplik väljund on umbes selline nagu allpool olev ekraanipilt.
Lisage postituste loendis kohandatud nupp
CSV loomiseks peame kõigepealt andma nupu taustaprogrammi postituse loendis. Lisaks kirjutame sellel nupul klõpsates koodi, mis genereerib CSV.
Avage functions.php
fail ja asetage sellesse allolev kood.
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 );
Ülaltoodud kood lisab postituste loendisse nupu "Ekspordi kõik postitused", nagu ekraanipildil näidatud. Siin olen konksu manage_posts_extra_tablenav
abil kohandatud nuppu paigutanud lehele ‘Kõik postitused’.
Tegelik kood postituste eksportimiseks CSV-sse
Selles etapis olete valmis oma kohandatud nupuga, mis peaks genereerima CSV. Lisame nüüd koodi, mis genereerib CSV ühe nupuvajutusega, ja saadame selle brauserisse allalaadimiseks.
Lisage functions.php
faili allolev kood .
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' );
See selleks! Edasi ja proovige. Peaksite hankima CSV-faili koos oma postituse teabega.
Loodan, et saate aru, kuidas WordPressis postitusi CSV-sse eksportida. Palun jagage oma mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.