WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Зависимости постов — Ищу готовое решение или пример

Есть три штуки постов, со временем их количество увеличится - задача сделать между ними связь и на странице каждого вывести ссылки на остальные связные посты. Ищу варианты как реализовать зависимости.

что не подойдет:
Таксономии не предлагать - на сайте 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 и имена так же правятся - нужно чтоб поменяв имя и урл - обновлялись данные по всему сайту

0
kolshix
5 лет назад 779
  • 0

    Возможно я что то не понял, но что если сделать набор языков и хранить его в опциях или еще где, например: ru, en, bg, br...

    В записи добавить мета-поле select с выбором языка
    При публикации выбирать язык записи
    При выводе похожих записей выводить только те записи, у которых мета-поле с языком такое же как у текущего поста

    kolshix 5 лет назад

    Да это все классно работает пока не начинаешь удалять посты, по этому обязательно нужна синхронизация. Я уже начал писать код, там все просто -.... Нужно немного времени

    Preci 5 лет назад

    Если пост удаляется, то его мета-поля то же удаляются, соответственно пост не будет выводиться

    kolshix 5 лет назад

    это да
    но как указать одному (первому) посту что другой был удален и нужно почистить данные в первом

    Preci 5 лет назад

    Записи которые показываются в первом посте, создаются из записей которые имеют такое же meta поле языка. Если запись N была удалена, то ее мета поле то же удалено и значит в первом посте она не будет выводиться

    Не понимаю в чем проблема

    kolshix 5 лет назад

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

    Весь смысл кода в том что записи приобретают иерархические свойства таксономий.
    Появляется родитель и дочерние посты (это все относительно так как посты остаются независимыми) - если для поста указать родителя в мета поле, то у него появятся доп свойства, а родитель приобретет дочерний id в мето поле - а значит все дочки смогут ссылаться на друг друга

    Если разорвать связь у дочки - то дочка должна сделать запрос к родителю и удалить свой id с родителя, так же нужно добавить код котрый перед удалением дочки проверит наличие родителя и отправит ему запрос на удаление нужного id

    все работает на

    update_post_meta(

    просто нужны работы с масивами и правильными условиями, а так же авто поиск дочек и прочих удобностей + ко всему добавление и удаление ID к масивам
    ВСЕГО ПО ЧУЧУТЬ но работы много
    так же нужны коды на JS - которым я вообще не владею никак.

    когда руками наполняешь поля с ID дочек а их 5-6 то уходит много времени - теперь нет

    • заполнил родителя, он разослал свой ID по дочкам
    • (еще не написал) удалил с родителя ID - тот сравнил старый список с новым и почистил нужных дочек
    • добавил к дочке родителя - та должна отправится к родителю и дописать свой id

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