Плагин Mix Of Expired Posts

Плагины WordPress

Mix Of Expired Posts — профессиональный WordPress-плагин для автоматического истечения срока публикаций. Визуальные индикаторы, массовые действия, Gutenberg, WP-CLI и логирование. Всё, что нужно для управления жизненным циклом контента. Бесплатно.

Скачать плагин Mix Of Expired Posts v 2.0 4 скачиваний

Ключевые особенности

1. Индикаторы статуса в списке записей

В таблице записей появляется колонка «Срок» с моментальной визуальной оценкой:

ИндикаторСтатусЗначение
ИстёкСрок прошёл. Запись уже должна быть обработана
⚠️Скоро истечётОсталось менее 48 часов. Требуется внимание
В будущемСрок ещё не наступил. Всё в порядке
Не заданаДата истечения не установлена

Преимущество: Редактор видит статус всех записей без открытия каждой. Экономит часы работы.


2. Быстрое редактирование без перезагрузки

Рядом с каждым индикатором — кнопки управления:

КнопкаДействиеРезультат
✏️Изменить датуОткрывается модальное окно с календарём. Изменение через AJAX
🗑️Очистить датуУдаляет дату истечения одним кликом. С подтверждением

Преимущество: Не нужно открывать запись, искать метабокс, сохранять. Всё в списке записей.


3. Массовые действия (Bulk Actions)

В выпадающем меню «Действия» доступны:

ДействиеЧто делаетКогда использовать
Пометить как истёкшееПрименяет выбранное действие (черновик/метка) ко всем отмеченным записямДля срочного скрытия группы публикаций
Очистить дату истеченияУдаляет дату у всех отмеченных записейЧтобы снять контроль с группы записей

Преимущество: Обработка сотен записей за секунды. Идеально для массового управления контентом.


🖥️ Современная интеграция с редакторами

4. Gutenberg — боковая панель

В блочном редакторе появляется панель «Дата истечения»:

  • DateTimePicker — выбор даты и времени через календарь
  • Кнопка «Очистить» — сброс даты
  • Пояснение — «Когда эта дата наступит, запись будет обработана согласно глобальным настройкам»
  • Валидация — проверка формата и диапазона (1971–2100)

Преимущество: Нативный интерфейс Gutenberg. Редактор работает в привычной среде.


5. Классический редактор — метабокс

В правой боковой панели классического редактора:

  • Поле «Дата окончания» — datetime-local input
  • Пояснение — «Если дата меньше текущей — публикация будет обработана согласно настройкам»
  • Немедленное действие — при сохранении записи с прошедшей датой действие применяется сразу

Преимущество: Поддержка всех редакторов. Никто не остаётся без функционала.


⏰ Надёжный 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Гибкое расписание
CronBatch 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Количество записей за один проход cron20–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 size50
Ведение логов✅ Включено
Максимум записей в логах50
Запись логов в файл✅ Включено

📋 Сохранение настроек

После изменения параметров:

  1. Нажмите кнопку «Сохранить изменения» внизу страницы
  2. Появится уведомление: Настройки сохранены.
  3. Cron автоматически перезапустится с новым расписанием

Важно: При изменении расписания cron старые задачи очищаются и создаются новые.


❓ Частые вопросы по настройке

1. Почему записи не обрабатываются?

Проверьте:

  • ✅ Включено ли ведение логов?
  • ✅ Правильно ли указан тип контента?
  • ✅ Есть ли у записей дата истечения?
  • ✅ Не истекла ли блокировка cron?

2. Как часто срабатывает cron?

Зависит от вашего расписания:

  • Каждый час
  • Два раза в день
  • Раз в сутки
  • Пользовательский интервал

Для проверки: нажмите «Запустить проверку сейчас» на вкладке «Cron и Мониторинг».

3. Что делать, если cron не срабатывает?

  1. Перейдите на вкладку «Cron и Мониторинг»
  2. Нажмите «Запустить проверку сейчас»
  3. Если работает — проблема в WP-Cron
  4. Настройте системный cron (см. вкладку «Информация и советы»)

4. Как изменить порог предупреждения (48 часов)?

В текущей версии порог жёстко зашит в коде. Изменение планируется в будущих версиях.


🎯 Чек-лист после установки

  • □ Выбрать тип контента
  • □ Настроить метку (название и slug)
  • □ Выбрать действие при истечении
  • □ Установить расписание cron
  • □ Настроить batch size
  • □ Включить логирование (рекомендуется)
  • □ Сохранить настройки
  • □ Проверить работу через «Запустить проверку сейчас»
  • □ Посмотреть логи на вкладке «Системные логи»

Лицензия

Это свободное программное обеспечение.
Вы можете распространять и/или модифицировать его на условиях лицензии GPL-2.0-or-later при условии сохранения авторства.

Автор: Коновалов Андрей Сергеевич Сайт: https://mixofme.ru

Скачать плагин Mix Of Expired Posts v 2.0 4 скачиваний

Оцените статью
( 1 оценка, среднее 5 из 5 )
Mix Of Me
Добавить комментарий