Скачать плагин Mix Of Expired Posts v 2.0 4 скачиванийMix Of Expired Posts — профессиональный WordPress-плагин для автоматического истечения срока публикаций. Визуальные индикаторы, массовые действия, Gutenberg, WP-CLI и логирование. Всё, что нужно для управления жизненным циклом контента. Бесплатно.
Ключевые особенности
1. Индикаторы статуса в списке записей
В таблице записей появляется колонка «Срок» с моментальной визуальной оценкой:
| Индикатор | Статус | Значение |
|---|---|---|
| ❌ | Истёк | Срок прошёл. Запись уже должна быть обработана |
| ⚠️ | Скоро истечёт | Осталось менее 48 часов. Требуется внимание |
| ⏳ | В будущем | Срок ещё не наступил. Всё в порядке |
| — | Не задана | Дата истечения не установлена |
Преимущество: Редактор видит статус всех записей без открытия каждой. Экономит часы работы.
2. Быстрое редактирование без перезагрузки
Рядом с каждым индикатором — кнопки управления:
| Кнопка | Действие | Результат |
|---|---|---|
| ✏️ | Изменить дату | Открывается модальное окно с календарём. Изменение через AJAX |
| 🗑️ | Очистить дату | Удаляет дату истечения одним кликом. С подтверждением |
Преимущество: Не нужно открывать запись, искать метабокс, сохранять. Всё в списке записей.
3. Массовые действия (Bulk Actions)
В выпадающем меню «Действия» доступны:
| Действие | Что делает | Когда использовать |
|---|---|---|
| Пометить как истёкшее | Применяет выбранное действие (черновик/метка) ко всем отмеченным записям | Для срочного скрытия группы публикаций |
| Очистить дату истечения | Удаляет дату у всех отмеченных записей | Чтобы снять контроль с группы записей |
Преимущество: Обработка сотен записей за секунды. Идеально для массового управления контентом.
🖥️ Современная интеграция с редакторами
4. Gutenberg — боковая панель
В блочном редакторе появляется панель «Дата истечения»:
- DateTimePicker — выбор даты и времени через календарь
- Кнопка «Очистить» — сброс даты
- Пояснение — «Когда эта дата наступит, запись будет обработана согласно глобальным настройкам»
- Валидация — проверка формата и диапазона (1971–2100)
Преимущество: Нативный интерфейс Gutenberg. Редактор работает в привычной среде.
5. Классический редактор — метабокс
В правой боковой панели классического редактора:
- Поле «Дата окончания» —
datetime-localinput - Пояснение — «Если дата меньше текущей — публикация будет обработана согласно настройкам»
- Немедленное действие — при сохранении записи с прошедшей датой действие применяется сразу
Преимущество: Поддержка всех редакторов. Никто не остаётся без функционала.
⏰ Надёжный Cron с защитой
6. Защита от параллельных запусков
- Transient-блокировка — при запуске cron устанавливается блокировка на 5 минут
- Проверка перед запуском — если блокировка активна, запуск пропускается
- Автоматическое освобождение — блокировка снимается после завершения
Преимущество: Исключает перегрузку сервера при одновременных запусках (актуально для больших сайтов).
7. Гибкое расписание
| Вариант | Интервал | Когда использовать |
|---|---|---|
| Каждый час | 60 минут | Новостные сайты, срочный контент |
| Два раза в день | 12 часов | Средняя нагрузка |
| Раз в сутки | 24 часа | Низкая нагрузка |
| Пользовательский | Любой (в минутах) | Индивидуальные требования |
Преимущество: Адаптация под любой график работы сайта.
8. Batch size — защита от перегрузки
- Настройка — количество записей за один проход cron (рекомендуется 20–200)
- 0 = без ограничения — для небольших сайтов
- Оптимизированные запросы —
no_found_rows, отключение кэшей мета/термов
Преимущество: Сервер не перегружается даже при тысячах истёкших записей.
9. Ручной запуск и мониторинг
На странице настроек:
- Кнопка «Запустить проверку сейчас» — ручной запуск для тестирования
- Отображение последнего запуска — время, количество обработанных записей, пометка о ручном запуске
- Результат выполнения — уведомление об успехе или ошибке
Преимущество: Полный контроль над работой плагина. Не нужно ждать cron для проверки.
📝 Профессиональное логирование
10. Двойное логирование
| Место хранения | Что записывается | Преимущество |
|---|---|---|
| База данных | Последние события (до 500) | Просмотр в админке без доступа к серверу |
| Файл | Все события (защищённая директория) | Полная история для отладки |
Преимущество: Логи всегда под рукой. Не нужно лазить по серверу.
11. Защита логов
- Изолированная директория —
wp-content/uploads/moep-logs/ - Автоматический
index.html— защита от листинга директории - Права на запись — автоматическое создание директории при активации
Преимущество: Логи защищены от посторонних глаз.
12. Просмотр и очистка
На странице настроек:
- Отображение последних 20 событий — форматированный список
- Кнопка «Очистить логи в базе данных» — удаление истории
- Путь к файлу логов — отображается для информации
Преимущество: Удобное управление логами без консоли.
💻 Профессиональные возможности
13. WP-CLI
wp moep expire
- Обрабатывает до 500 истёкших записей за один запуск
- Идеально для автоматизации через системный cron
- Для профессиональных пользователей и DevOps
Преимущество: Полная автоматизация для крупных проектов.
14. Хук для разработчиков
do_action('moep_post_expired', $post_id, $action, $timestamp);
15. REST API для Gutenberg
- Мета-поле
moep_expiration_dateзарегистрировано в REST API - Сохранение через Gutenberg без дополнительных настроек
- Автоматическая валидация через
auth_callback
Преимущество: Нативная работа с блочным редактором.
🔒 Безопасность
16. Многоуровневая защита
| Уровень | Защита |
|---|---|
| Проверка прав | current_user_can() на всех уровнях |
| Nonce-верификация | Все AJAX-запросы защищены |
| Санитизация | Все входные данные очищены |
| Экранирование | Все выходные данные экранированы |
| Защита файлов | ABSPATH + index.html |
| Валидация даты | Диапазон 1971–2100 |
Преимущество: Плагин безопасен для использования на любых сайтах.
🌍 Локализация
17. Полная готовность к переводу
- Файл
.pot— все строки для перевода - Русский язык — включён из коробки
- JavaScript — строки в админке и Gutenberg переведены
- Домен —
mix-of-expired-posts
Преимущество: Мгновенная адаптация под любой язык.
18. Установка
Способ 1: Через админ-панель WordPress (рекомендуется)
1. Скачайте актуальную версию плагина в формате .zip
2. Зайдите в административную панель вашего сайта
3. Перейдите в раздел Плагины → Добавить новый
4. Нажмите кнопку «Загрузить плагин» в верхней части страницы
5. Выберите скачанный mix-of-expired-posts.zip файл и нажмите «Установить»
6. После завершения установки нажмите «Активировать плагин»
Способ 2: Через FTP / Файловый менеджер
1. Распакуйте скачанный архив на вашем компьютере
2. Скопируйте папку mix-of-expired-posts в директорию вашего сайта: /wp-content/plugins/
3. Зайдите в админ-панель WordPress
4. Перейдите в Плагины → Установленные
5. Найдите Mix Of Expired Posts и нажмите «Активировать»
19. Безопасное удаление
При удалении плагина:
- Удаляются опции плагина
- Удаляются транзиенты и запланированные задачи
- НЕ УДАЛЯЮТСЯ даты истечения и логи
Преимущество: Защита от случайной потери данных.
📊 Сводная таблица возможностей
| Категория | Возможность | Доступность |
|---|---|---|
| UI/UX | Визуальные индикаторы | ✅ |
| UI/UX | Быстрое редактирование | ✅ |
| UI/UX | Массовые действия | ✅ |
| UI/UX | Модальное окно | ✅ |
| Редакторы | Gutenberg | ✅ |
| Редакторы | Классический редактор | ✅ |
| Cron | Защита от параллельных запусков | ✅ |
| Cron | Гибкое расписание | ✅ |
| Cron | Batch size | ✅ |
| Cron | Ручной запуск | ✅ |
| Cron | Мониторинг последнего запуска | ✅ |
| Логи | База данных | ✅ |
| Логи | Файл | ✅ |
| Логи | Просмотр в админке | ✅ |
| Логи | Очистка | ✅ |
| Профессиональные | WP-CLI | ✅ |
| Профессиональные | Хук для разработчиков | ✅ |
| Профессиональные | REST API | ✅ |
| Безопасность | Nonce-защита | ✅ |
| Безопасность | Проверка прав | ✅ |
| Безопасность | Санитизация | ✅ |
| Безопасность | Защита логов | ✅ |
| Локализация | Полная готовность | ✅ |
| Локализация | Русский язык | ✅ |
🏆 Итоговые преимущества
Для редакторов и контент-менеджеров
- ✅ Визуальный контроль всех записей
- ✅ Экономия времени на редактировании
- ✅ Массовая обработка контента
- ✅ Интуитивно понятный интерфейс
Для владельцев сайтов
- ✅ Автоматизация рутины
- ✅ Актуальный контент всегда
- ✅ Безопасность и надёжность
- ✅ Полностью бесплатно
Для разработчиков
- ✅ Чистая архитектура
- ✅ Легко расширяется
- ✅ WP-CLI для автоматизации
- ✅ Хуки для интеграций
⚙️ Настройка плагина Mix Of Expired Posts
📍 Как найти настройки
После активации плагина перейдите в Настройки → Mix Of Expired Posts в административной панели WordPress.
📑 Структура страницы настроек
Страница настроек разделена на 4 вкладки:
| Вкладка | Что настраивается |
|---|---|
| Основные настройки | Тип контента, метка, действие, cron, логи |
| Cron и Мониторинг | Последний запуск, ручной запуск |
| Информация и советы | Как работает плагин, рекомендации |
| Системные логи | Просмотр и очистка логов |
📋 Вкладка 1. Основные настройки
1. Тип контента
| Поле | Описание | Значение по умолчанию |
|---|---|---|
| Тип контента | Для какого типа записей применять логику | Посты (post) |
Доступные варианты:
- Посты (записи)
- Страницы
- Все публичные кастомные типы записей (товары WooCommerce, портфолио, вакансии и т.д.)
Пример использования:
- Для блога → выберите «Посты»
- Для интернет-магазина → выберите «Товары» (если WooCommerce активен)
- Для сайта вакансий → выберите ваш кастомный тип «Вакансии»
2. Настройка метки истечения
| Поле | Описание | Значение по умолчанию |
|---|---|---|
| Название метки | Название тега, которое увидят в админке и на сайте | Expired |
| Slug метки | Технический идентификатор метки (только латиница) | expired |
Важно:
- Меняйте slug аккуратно — если изменить, плагин создаст новую метку, а старая останется у уже обработанных записей
- Название метки отображается в админке и на сайте
3. Действие при истечении
| Вариант | Что происходит | Когда использовать |
|---|---|---|
| Перевести в черновик | Запись скрывается с сайта | Посты, которые должны полностью исчезнуть |
| Только добавить метку | Запись остаётся опубликованной, но получает метку | Для фильтрации, без скрытия |
| Добавить метку и перевести в черновик | И то, и другое | Рекомендуется — комбинированный подход |
Пример:
- Новость → «Перевести в черновик» (полностью скрыть)
- Акция → «Добавить метку и перевести в черновик» (скрыть + пометить для отчёта)
- Архив → «Только добавить метку» (оставить видимой, но пометить)
4. Cron расписание
| Вариант | Интервал | Когда использовать |
|---|---|---|
| Каждый час | 60 минут | Новостные сайты, срочный контент |
| Два раза в день | 12 часов | Стандартный режим |
| Раз в сутки | 24 часа | Низкая нагрузка, некритичный контент |
| Пользовательский | Любой (в минутах) | Индивидуальные требования |
Пользовательский интервал:
- Укажите количество минут в поле рядом
- Минимум: 1 минута
- Рекомендуется: 15–60 минут
Важно: WP-Cron срабатывает только при посещениях сайта. Если сайт имеет низкую посещаемость, рекомендуется настроить системный cron.
5. Batch size
| Параметр | Описание | Рекомендации |
|---|---|---|
| Batch size | Количество записей за один проход cron | 20–200 |
Рекомендации по выбору:
| Размер сайта | Batch size | Пояснение |
|---|---|---|
| Малый (до 1000 записей) | 50–100 | Безопасно |
| Средний (1000–10000) | 100–200 | Оптимально |
| Крупный (более 10000) | 200–500 | С осторожностью |
| Любой размер | 0 | Без ограничения (не рекомендуется) |
Принцип работы:
- Каждый запуск cron обрабатывает не более
batch_sizeзаписей - Если истекших записей больше — они будут обработаны в следующий раз
- Защищает сервер от перегрузки
6. Ведение логов
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Включить ведение логов | Запись событий в базу данных | ✅ Включено |
Что записывается:
- Дата и время события
- ID записи
- Выполненное действие (draft / tag_only / tag_and_draft)
Когда отключать:
- На очень больших сайтах для экономии базы данных
- Если логи не нужны
7. Максимум записей в логах
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Максимум записей | Сколько последних событий хранить | 50 |
Диапазон: от 5 до 500
Рекомендации:
- 20–50 — для большинства сайтов
- 100+ — если важна история событий
- 5 — минимальный размер, только для контроля
8. Запись логов в файл
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Запись логов в файл | Дополнительная запись в файл | ✅ Включено |
Путь к файлу: wp-content/uploads/moep-logs/moep.log
Преимущества:
- Полная история событий
- Не засоряет базу данных
- Удобно для отладки
Когда отключать:
- Если место на сервере ограничено
- Если логи не нужны
📊 Вкладка 2. Cron и Мониторинг
1. Последний запуск крона
Отображается информация о последнем запуске:
| Поле | Описание | Пример |
|---|---|---|
| Время | Дата и время последнего запуска | 2024-12-01 15:30:00 |
| Обработано | Количество записей, обработанных за последний запуск | 15 постов обработано |
| Тип запуска | Автоматический или ручной | ручной запуск (если запускали вручную) |
Если ни разу не запускался: отображается Ещё не запускался
2. Ручной запуск
| Элемент | Описание |
|---|---|
| Кнопка | «Запустить проверку сейчас» |
| Назначение | Тестирование или обход проблем с WP-Cron |
| Результат | Отображается рядом с кнопкой |
Когда использовать:
- Для тестирования после настройки
- Если WP-Cron не срабатывает автоматически
- Для срочной обработки истёкших записей
Результат выполнения:
- Успех:
X записей обработано. - Ошибка: сообщение об ошибке
📖 Вкладка 3. Информация и советы
1. Как работает плагин
Краткое объяснение:
- Укажите дату истечения в записи
- При наступлении даты плагин выполняет выбранное действие
- Индикатор в списке записей обновляется мгновенно
Важно: WP-Cron срабатывает при визитах на сайт. При низкой посещаемости возможна небольшая задержка.
2. Настройка системного cron
Для сайтов с низкой посещаемостью:
Если на сайт заходят редко, WP-Cron может срабатывать нерегулярно. Настройте системный cron:
Пример для crontab (Linux/сPanel/ISPmanager):
*/15 * * * * wget -q -O - https://your-site.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Дополнительно:
После настройки системного cron добавьте в wp-config.php:
define('DISABLE_WP_CRON', true);
📝 Вкладка 4. Системные логи
1. Путь к файлу логов
Отображается полный путь к файлу логов:
/home/user/public_html/wp-content/uploads/moep-logs/moep.log
2. Последние события
Отображаются последние 20 событий из базы данных:
Пример:
2024-12-01T15:30:00+03:00 - Post #123 expired. Action: tag_and_draft
2024-12-01T14:15:00+03:00 - Batch processed. Expired posts handled: 5
2024-12-01T13:00:00+03:00 - Post #456 expired. Action: draft
Формат: ISO 8601 дата + сообщение
Если логов нет: отображается Логов пока нет.
3. Очистка логов
| Кнопка | Действие | Результат |
|---|---|---|
| Очистить логи в базе данных | Удаляет все логи из базы данных | Логи удалены, файловые логи остаются |
Важно:
- Удаляются только логи в базе данных
- Файловые логи остаются нетронутыми
- Восстановить удалённые логи невозможно
🔧 Быстрая настройка (для большинства сайтов)
Рекомендуемые настройки:
| Параметр | Значение |
|---|---|
| Тип контента | Посты |
| Название метки | Expired |
| Slug метки | expired |
| Действие при истечении | Добавить метку и перевести в черновик |
| Cron расписание | Два раза в день |
| Batch size | 50 |
| Ведение логов | ✅ Включено |
| Максимум записей в логах | 50 |
| Запись логов в файл | ✅ Включено |
📋 Сохранение настроек
После изменения параметров:
- Нажмите кнопку «Сохранить изменения» внизу страницы
- Появится уведомление:
Настройки сохранены. - Cron автоматически перезапустится с новым расписанием
Важно: При изменении расписания cron старые задачи очищаются и создаются новые.
❓ Частые вопросы по настройке
1. Почему записи не обрабатываются?
Проверьте:
- ✅ Включено ли ведение логов?
- ✅ Правильно ли указан тип контента?
- ✅ Есть ли у записей дата истечения?
- ✅ Не истекла ли блокировка cron?
2. Как часто срабатывает cron?
Зависит от вашего расписания:
- Каждый час
- Два раза в день
- Раз в сутки
- Пользовательский интервал
Для проверки: нажмите «Запустить проверку сейчас» на вкладке «Cron и Мониторинг».
3. Что делать, если cron не срабатывает?
- Перейдите на вкладку «Cron и Мониторинг»
- Нажмите «Запустить проверку сейчас»
- Если работает — проблема в WP-Cron
- Настройте системный cron (см. вкладку «Информация и советы»)
4. Как изменить порог предупреждения (48 часов)?
В текущей версии порог жёстко зашит в коде. Изменение планируется в будущих версиях.
🎯 Чек-лист после установки
- □ Выбрать тип контента
- □ Настроить метку (название и slug)
- □ Выбрать действие при истечении
- □ Установить расписание cron
- □ Настроить batch size
- □ Включить логирование (рекомендуется)
- □ Сохранить настройки
- □ Проверить работу через «Запустить проверку сейчас»
- □ Посмотреть логи на вкладке «Системные логи»
Лицензия
Это свободное программное обеспечение.
Вы можете распространять и/или модифицировать его на условиях лицензии GPL-2.0-or-later при условии сохранения авторства.
Автор: Коновалов Андрей Сергеевич Сайт: https://mixofme.ru
Скачать плагин Mix Of Expired Posts v 2.0 4 скачиваний


