Автоматизация работы с черновиками в WordPress — частая задача для разработчиков и администраторов сайтов. Черновики позволяют сохранять незавершённые записи без публикации, но при большом объёме контента их количество может разрастаться, замедляя работу базы данных и создавая путаницу. В этой статье мы подробно рассмотрим, как программно создавать и удалять черновики, а также какие плагины могут помочь в автоматизации этого процесса.
Почему важна автоматизация работы с черновиками в WordPress
Когда редакторы и авторы пишут статьи, они часто оставляют множество черновиков — некоторые из них уже не нужны и занимают место в базе данных. Автоматическое удаление устаревших черновиков помогает поддерживать сайт в чистоте и улучшает производительность. С другой стороны, иногда полезно создавать черновики автоматически, например, для подготовки шаблонов или массового создания записей для дальнейшего редактирования.
Без автоматизации эти задачи требуют ручного вмешательства, что неудобно и занимает много времени. Поэтому грамотная автоматизация помогает сэкономить время и повысить качество управления контентом.
Автоматическое создание черновиков: примеры и применение
Для создания черновиков программно в WordPress используется функция wp_insert_post. Ниже пример функции wpmy_create_draft_post, которая создаёт черновик с заданным заголовком и содержимым:
function wpmy_create_draft_post($title, $content) {
$post_data = array(
'post_title' => $title,
'post_content' => $content,
'post_status' => 'draft',
'post_author' => get_current_user_id(),
'post_type' => 'post',
);
$post_id = wp_insert_post($post_data);
return $post_id;
}Этот код удобно использовать для автоматизированного создания шаблонных черновиков или при интеграции с внешними сервисами, когда нужно заранее создать записи для наполнения сайта.
Пример использования:
$new_draft_id = wpmy_create_draft_post('Шаблон статьи', 'Здесь будет ваш контент...');
if ($new_draft_id) {
echo 'Черновик успешно создан с ID: ' . $new_draft_id;
} else {
echo 'Ошибка при создании черновика';
}Интеграция с плагином WPMy Expert Review
Если на сайте используется плагин Expert Review от WPSHOP, то можно автоматически создавать черновики с шаблонами обзоров, облегчая работу редакторов. В этом случае функция создания черновика может расширяться для добавления метаполей, необходимых для обзора.
Автоматическое удаление черновиков: как и когда
Удаление старых и ненужных черновиков помогает оптимизировать базу данных и улучшить работу сайта. Для этого можно использовать WP-Cron — встроенную систему планировщика задач WordPress. Ниже пример функции wpmy_delete_old_drafts, которая удаляет черновики старше 30 дней:
function wpmy_delete_old_drafts() {
global $wpdb;
$days = 30;
$date_threshold = date('Y-m-d H:i:s', strtotime('-' . $days . ' days'));
$drafts = $wpdb->get_col($wpdb->prepare(
"SELECT ID FROM {$wpdb->posts} WHERE post_status = 'draft' AND post_date < %s",
$date_threshold
));
foreach ($drafts as $post_id) {
wp_delete_post($post_id, true); // true для полного удаления
}
}
// Запускаем функцию ежедневно
if (!wp_next_scheduled('wpmy_daily_delete_old_drafts')) {
wp_schedule_event(time(), 'daily', 'wpmy_daily_delete_old_drafts');
}
add_action('wpmy_daily_delete_old_drafts', 'wpmy_delete_old_drafts');Этот код настроит ежедневное удаление черновиков, не обновлявшихся более 30 дней. Такой подход помогает держать базу данных в порядке без участия пользователя.
Настройка через плагин Clearfy Pro
Плагин Clearfy Pro предоставляет удобные инструменты для оптимизации и очистки WordPress, включая управление черновиками. С помощью него можно настроить автоматическое удаление черновиков и других мусорных данных без написания кода.
Советы по безопасной автоматизации работы с черновиками
Перед внедрением автоматического удаления черновиков важно убедиться, что в них нет важной информации, которую ещё планируют использовать. Можно добавить фильтры по автору, категории или метаданным, чтобы не удалять нужные записи.
Также рекомендуем создавать резервные копии сайта перед настройкой подобных автоматизаций. Для этого подойдёт плагин WP Backup от WPSHOP или аналогичные решения.
Если автоматическое создание черновиков используется для массового наполнения сайта, стоит внимательно продумать логику заполнения полей и валидировать данные, чтобы избежать мусорного контента.
Итоги и рекомендации
Автоматизация создания и удаления черновиков в WordPress — мощный инструмент для оптимизации работы сайта и повышения эффективности редакционного процесса. При помощи простых PHP-функций и встроенных возможностей WP-Cron можно реализовать гибкие сценарии управления черновиками.
Используйте примеры из статьи как основу для своих решений и комбинируйте их с популярными плагинами от WPSHOP для ещё большей автоматизации и безопасности.