WordPress как на ладони

Вывод измененных записей с пояснением

Приведу абстрактный пример, чтобы было понятно.

Делаем запись о программе Notepap++, там описание и всё что касается классификации. Идет вывод на главную - Новые добавленный программы. Затем через месяц выходит новая версия программы, нужно поле, где можно указать, что такого-то числа было обновление, вот это обновлено и это пофиксено. И на главной блок "Недавно обновленные программы" выводится название, дата и часть текста об обновлении.

Как так сделать? Как вывести недавно обновленные записи знаю, но ведь исправление ошибки в тексте описания тоже будет считаться обновлением, да и заметку об обновлении надо выводить последнюю, а не все, что есть.

В какую сторону двигаться?

0
campusboy
8.1 год назад 4752
  • 1
    Kama9619

    Как-то кастомизировать надо: тут пожалуй выбора нет, кроме как где-то записывать дату изменение блока "Обновления программы". В метаполях это не очень хорошо, потому что там строки сохраняются, а значит выборка будет не самая быстрая...

    Как самый быстрый вариант, но не очень оптимальный правда: допустим в тексте есть блок "Обновления" и ниже дата и текст, дата и текст. Так вот при сохранении поста вырезаем первую дату из этого блока и пишем её в метаполе как штамп времени. Потом выводим записи отсортированные по этому метаполю, как числовое значение.

    Другой вариант, создать отдельную таблицу в БД с полями:

    • дата изменение (тип datetime)
    • поле с текстом
    • ID записи (для связки).

    И при обновлении данных в этой таблице, обновлять поле даты. Затем получать последние записи на основе этой таблицы...

    Так работы больше будет конечно, но зато запросы будут быстрые, если нагруженный ресурс...

    campusboy 8.1 год назад

    Спасибо за развернутый ответ. Тоже к этому прихожу, скорость + удобство. Создать кастомную таблицу несложно ведь.

    Kama 8.1 год назад

    Не сложно, просто управление ею требует лишнего кода. Например удалять поля, при удалении записи. SQL запрос для получения придется писать отдельно, добавление, удаление полей тоже как-то отдельно выводить нужно будет. А если с метаполями, то там половина уже готова...

    В пользу метаполей еще и то, что если запрос тяжелый его можно всегда закэшировать. Это на высоконагруженных проектах нужно. Короче надо смотреть по проекту и перспективам, заморачиваться на правильности исполнения тоже не стоит, только потому что так правильнее...

    campusboy 8.1 год назад

    У меня вот возникла такая идея. В таблице wp_post есть поле "Дата обновления". Так вот, есть произвольное поле, к нему галочку "Есть обновления". Если галочка стоит - обновить "дату обновления", если не стоит - нет. Ну а в самом произвольном поле типа textarea при надобности вывести текст о последнем изменении не сложно (к примеру, это будет последний абзац в этом поле) с помощью регулярочки.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация