Зависимости постов — Ищу готовое решение или пример
Есть три штуки постов, со временем их количество увеличится - задача сделать между ними связь и на странице каждого вывести ссылки на остальные связные посты. Ищу варианты как реализовать зависимости.
что не подойдет:
Таксономии не предлагать - на сайте 3000 постов , если даже поделить на 5, очень уж много групп появится
Почему хочу писать код !!
1 к примеру был 1 пост и стало четыре №:1 2 3 4, потом больше. На странице каждого есть ссылки, но к примеру пост под номером 3 был удален, а значит с номеров 1 2 4 со страниц нужно руками удалить ссылки. ЭТО БУДУ ДЕЛАТЬ АВТОМАТИЧЕСКИ ЧЕРЕЗ PHP
2 к примеру были посты 1 2 3 4 и тут появился новый 5 , а значит на предыдущие 4 нужно добавить дополнительную ссылку о посте 5 ЭТО БУДУ ДЕЛАТЬ АВТОМАТИЧЕСКИ ЧЕРЕЗ PHP
Аналоги на вордпрессе уже есть - если присвоить миниатюру к посту а потом удалить картинку из мультимедиа, то при возврате в пост, миниатюра (её ID) будет удалена из записи. Что-то подобное и с таксономиями
В голове 2 идеи:
1 создать произвольное поле с IDs зависимых постов и вписывать в него список id - а код уже будет обновлять и дополнять данными с текущего поста другие посты. Ну а если пост будет удалятся, то будет выполняться код на удаление текущего ID из зависимых постов.
2 вариант - для каждого поста будет создаваться и закрепляется отдельная таблица в БД. Если пост единичный и схожих нет то ничего не делать, а если есть какойто аналогичный то просто в произвольном поле дописать id схожего поста (РОДИТЕЛЯ). Простыми словами в таблице родителя будут хранится 5-6 ids.
выводить буду: код будет проверять, пост родительский или дочерний, если дочерний, то обратится к родителю и возьмет с его таблицы пачку ID. Если родитель то просто выведу пачку дочерних id .
для чего такие замудренности ?
Нужна реализация языков по типу википедии. Каждая статья под своим языком - это независимый пост, который связан с постами на других языках . НА моем сайте часто меняются url и имена так же правятся - нужно чтоб поменяв имя и урл - обновлялись данные по всему сайту
Возможно я что то не понял, но что если сделать набор языков и хранить его в опциях или еще где, например: ru, en, bg, br...
В записи добавить мета-поле select с выбором языка
При публикации выбирать язык записи
При выводе похожих записей выводить только те записи, у которых мета-поле с языком такое же как у текущего поста
Да это все классно работает пока не начинаешь удалять посты, по этому обязательно нужна синхронизация. Я уже начал писать код, там все просто -.... Нужно немного времени
Если пост удаляется, то его мета-поля то же удаляются, соответственно пост не будет выводиться
это да
но как указать одному (первому) посту что другой был удален и нужно почистить данные в первом
Записи которые показываются в первом посте, создаются из записей которые имеют такое же meta поле языка. Если запись N была удалена, то ее мета поле то же удалено и значит в первом посте она не будет выводиться
Не понимаю в чем проблема
немного не то.
уже потихоньку завершаю код, позже попробую показать - главное что без плагина и на стандартных функциях.
Весь смысл кода в том что записи приобретают иерархические свойства таксономий.
Появляется родитель и дочерние посты (это все относительно так как посты остаются независимыми) - если для поста указать родителя в мета поле, то у него появятся доп свойства, а родитель приобретет дочерний id в мето поле - а значит все дочки смогут ссылаться на друг друга
Если разорвать связь у дочки - то дочка должна сделать запрос к родителю и удалить свой id с родителя, так же нужно добавить код котрый перед удалением дочки проверит наличие родителя и отправит ему запрос на удаление нужного id
все работает на
просто нужны работы с масивами и правильными условиями, а так же авто поиск дочек и прочих удобностей + ко всему добавление и удаление ID к масивам
ВСЕГО ПО ЧУЧУТЬ но работы много
так же нужны коды на JS - которым я вообще не владею никак.
когда руками наполняешь поля с ID дочек а их 5-6 то уходит много времени - теперь нет