WordPress – це платформа для ведення блогів. Блог – це не що інше, як колекція публікацій. У деяких випадках ви можете поділитися своїм списком публікацій з кимось через файл CSV. Буде корисно швидко переглянути всі повідомлення без входу на інформаційну панель. Використовуючи такий CSV, ви можете легко знайти заголовок публікації та їх постійне посилання. У цій статті я покажу вам, як експортувати дописи у CSV у WordPress.
Я збираюся додати одну спеціальну кнопку на сторінці списку вихідних повідомлень. Після натискання цієї кнопки файл CSV завантажується автоматично, що містить інформацію про повідомлення.
Як приклад, я експортую заголовок допису, URL-адресу публікації, категорії та теги до файлу CSV. Користувач може додати до нього більше полів. Остаточний результат буде приблизно таким, як на скріншоті нижче.
Додайте спеціальну кнопку в списку публікацій
Щоб сформувати CSV, нам спочатку потрібно натиснути кнопку в списку доменних повідомлень. Крім того, ми напишемо код, який генерує CSV за натисканням цієї кнопки.
Відкрийте functions.php
файл і помістіть в нього код нижче.
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 );
Вищезазначений код додасть кнопку "Експортувати всі повідомлення" в списку публікацій, як показано на знімку екрана. Тут я використав гачок, manage_posts_extra_tablenav
щоб розмістити спеціальну кнопку на сторінці "Усі повідомлення".
Фактичний код для експорту публікацій у CSV
На цьому етапі ви готові до власної кнопки, яка повинна створити CSV. Тепер давайте додамо код, який генерує CSV за натисканням кнопки, і відправляємо його у браузер для завантаження.
Додайте код нижче у functions.php
файл.
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' );
Це воно! Вперед і спробуйте. Вам слід отримати файл CSV разом із інформацією про вашу публікацію.
Сподіваюся, ви розумієте, як експортувати дописи у CSV у WordPress. Будь ласка, поділіться своїми думками та пропозиціями в розділі коментарів нижче.
Пов’язані статті
- Як додати код після тегу Body у WordPress
- Додавання користувацької кнопки зображення за допомогою засобу завантаження медіа в WordPress
- Відображати публікації з певної категорії на сторінці WordPress