Как экспортировать записи пользовательского типа постов на основе диапазона дат

Вопрос или проблема

Возможно ли, с помощью кода, настроек wp-admin или базы данных, скачать записи из пользовательского типа записей на основе определенного диапазона дат?

Когда я захожу в wp-admin и использую инструмент экспорта, я могу легко скачать записи на основе заданного диапазона дат вот так…

введите описание изображения здесь

Но как только я выбираю свой пользовательский тип записей “Карьера”, опции Начальная дата или Конечная дата отсутствуют.

Можем ли мы настроить это сегодня в современном WordPress для экспорта на основе диапазона дат?

Если у вас есть доступ к WP CLI, возможно, имеет смысл попробовать команду wp export.

wp export --post_type=career --start_date=2011-01-01 --end_date=2011-12-31

Ответ или решение

Экспортирование постов на основе пользовательского типа и диапазона дат – это задача, которая может быть решена различными способами в современном WordPress. В этой статье мы рассмотрим, как можно выполнить экспорт постов пользовательского типа, например, "Careers", в заданном диапазоне дат, с использованием как пользовательского кода, так и инструментов администрирования WordPress.

1. Введение

Если вы хотите экспортировать посты определенного пользовательского типа по заданному диапазону дат, вы сталкиваетесь с ограничениями стандартного инструмента экспорта WordPress. В отличие от стандартных постов, пользовательские посты не предлагают возможность выбора диапазона дат в интерфейсе администрирования. Тем не менее, существуют решения, которые позволят осуществить экспорт постов в соответствии с заданными параметрами.

2. Использование WP-CLI

Если у вас есть доступ к WP-CLI (интерфейс командной строки WordPress), это один из самых эффективных способов выполнить экспорт. WP-CLI предоставляет команду wp export, которая позволяет детализировать запросы.

Шаги:

  1. Убедитесь, что WP-CLI установлен: Если вы находитесь на совместимом сервере, доступ к WP-CLI должен быть налажен.

  2. Выполните команду экспорта: Для экспорта постов пользовательского типа "Careers" в рамках диапазона дат можно использовать следующую команду:

    wp export --post_type=career --start_date=2011-01-01 --end_date=2011-12-31
  3. Обработка результатов: После выполнения команды вы получите файл в формате XML, содержащий все посты пользовательского типа, созданные в указанный вами период.

3. Экспорт через пользовательский код

Если вы не имеете доступа к WP-CLI, вы также можете использовать пользовательский код, чтобы запросить нужные посты и экспортировать их в CSV или другой формат.

Пример кода:

function export_custom_posts($start_date, $end_date) {
    $args = array(
        'post_type' => 'career',
        'date_query' => array(
            array(
                'after' => $start_date,
                'before' => $end_date,
                'inclusive' => true,
            ),
        ),
        'posts_per_page' => -1,
    );

    $custom_posts = new WP_Query($args);

    if ($custom_posts->have_posts()) {
        $csv_output = "ID,Title,Date\n"; // Заголовки CSV
        while ($custom_posts->have_posts()) {
            $custom_posts->the_post();
            $csv_output .= get_the_ID() . "," . get_the_title() . "," . get_the_date() . "\n";
        }
        wp_reset_postdata();

        header('Content-Type: text/csv');
        header('Content-Disposition: attachment; filename="export.csv"');
        echo $csv_output;
        exit;
    } else {
        echo "Нет постов для экспорта.";
    }
}

// Пример вызова функции
export_custom_posts('2011-01-01', '2011-12-31');

4. Заключение

Таким образом, несмотря на ограничения стандартного интерфейса WordPress для экспорта пользовательских постов по датам, вы можете использовать мощные инструменты, такие как WP-CLI, или создать пользовательское решение с помощью кода. Оба метода требуют определенных технических навыков, но способны дать вам полный контроль над вашими данными.

Соблюдение данных методов, как через WP-CLI, так и через пользовательский код, обеспечивает гибкость в управлении вашими пользовательскими постами и позволяет экспортировать нужные вам данные согласно заданным параметрам.

Оцените материал
Добавить комментарий

Капча загружается...