Потому что кто-то собрал всю нужную инфу, а теперь чтобы эту инфу обновлять, этот кто-то, просто начал интерграцию.
А вы думали вам в нулевых деньги просто так платили. 🤣😂
Вы как те инженеры, которых наняли на работу чтобы они автоматизировали работу, после выполнение и тестов которой - всех сократили.
Теперь только грузчики, физ-хард-кор.
Вы погуглите, low google traffic march 2025 - там из авторов есть авторы крупных порталов, не говносайтов и чепухи, а реально уникальных проектов у которых с 3к -5к до 500$ monthly скатилось всё.
Да и дело тут не только в этом, ладно если ты один на проекте, а если он официально зарегистрирован, приносит прибыль, платят людям зп и т д.
Ты прежде чем браться за такое - немного почитай про реляционные базы данных для начала, если такое пишешь. На самм деле это очень просто, с таких примеров начинают изучать БД на самом деле.
У меня в этом практики ноль, но, могу разобраться в прочем что и делаю.
Мне нужна некая простая база (рабочая) чтобы наглядно было, потом уже проще будет.
Как это понять для групповых чатов ?
Нужно только 2 собеседника в 1 чате.
К примеру user1 написал user2, user 2 ответил user 1. - далее удаление у себя сообщение удалили к примеру 2 пользователя то оно удаляется автоматом из БД у обоих пользователей.
Видите не все так просто
Нам нужно создать придельно простой вариант, а потом дорабатывать, по примеру как я написал удаление сообщений и так далее, то есть учитывать все эти мелочи.
Пусть проект будет не большим но вполне рабочим с минимум "старой инфы" на примере удаления юзерами сообщений что равно удаление их из БД
Ниже приведён SQL-пример создания таблиц (пример на PostgreSQL):
CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(255) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
CREATE TABLE conversations ( id SERIAL PRIMARY KEY, name VARCHAR(100), is_group BOOLEAN DEFAULT FALSE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
CREATE TABLE conversation_participants ( conversation_id INTEGER NOT NULL REFERENCES conversations(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (conversation_id, user_id) );
CREATE TABLE messages ( id SERIAL PRIMARY KEY, conversation_id INTEGER NOT NULL REFERENCES conversations(id) ON DELETE CASCADE, sender_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, message_text TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, status VARCHAR(20) DEFAULT 'sent' );
CREATE INDEX idx_messages_conversation ON messages(conversation_id); CREATE INDEX idx_messages_sender ON messages(sender_id);
CREATE TABLE message_read_status ( message_id INTEGER NOT NULL REFERENCES messages(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, read_at TIMESTAMP, PRIMARY KEY (message_id, user_id) );
Эта схема позволяет:
В почте роль такого чата играет сам почтовый ящик. Просто нет прямой связи между почтовыми ящиками. В общем письмо хранится отдельно у отправителя и получателей. Хотя в рамках одной почтовой службы даже здесь возможны варианты.
Чаты по своей сути ближе к темам форума, чем к почте и почтовым ящикам.
Тут всё упирается в логику работы бд
Есть такое у программистов. Работа - это работа. А форум, тем более в пятницу или выходные, - это другое.
Выше уже написали. Здесь присутствуют, по большей части в качестве "наблюдателей", не только пользователи/разработчики WP. Представьте себе, я ни одного сайта на WP не запустил. Хотя исходники когда-то довольно подробно изучал. Чтобы понять, что это "чудо" лучше обойти стороной 😊 Да, CMS распространена, кто же спорит 😊
Стремление похвальное, но без навыков программирования, аналитики баз данных в чем смысл? Учитесь и возьмите эту задачку в качестве прикладной при обучении. А большинству разработчиков будет скучно. Если они помимо своей основной работы не занимаются помощью новичкам. Я, например, довольно часто консультирую, но мне интересно давать подсказки начинающим разработчикам, а не раздражаться при общении с новичками в программировании.
Ничего Вы не поняли, можно самому написать куда проще и гибще, оставить только то что нужно.
Wordpress - выбран не просто так, во первых тестировались нагрузки, во вторых он сделан очень удобно и умно в случае чего, под рукой есть практически весь его функционал.
По этому - отдельно допиливать в качестве плагинов - решения самое оно.
Я просто вспомнил Джумлу или Друпал, это что-то с чем-то...
Думал тут по дружней будет, а нет.
В общем как всегда, "спецы" форумные вместо того чтобы помочь - советы дают саморекламой 2-3 часа бэкэнда )
Пройдём как бы то ни было.
Мб тут кроется ошибка?
Работайте с ларевел,yii2 и т.д))
Сейчас бы на wp делать нормальные проекты,а не инфо-помойки
Так вот делаем, в своё время не помню какую версию уже переписывали - дополняли.
Проблема в том что когда меняешь сферу работы, вспомнить тем более всё достаточно сложно.
Но, вот наверстать хотя бы частями вполне реально, хоть и требуется времени чтение манов и документаций.
Фреймоврки не по мне, я как-то пробовал, там тоже понапихали чтобы умелые ручки умели прописывать шаблоны.
Зачем мне фреймворк если к примеру у нас как-то крутился самописный сайт из 20 файлов минимум запросов в бд с кэшем на никсах с посещалкой в 10к дейли
И такое возможно, так что тут дело в другом, когда проходит икс времени, проект начинает нагружаться, к примеру при стартапе обычном, у нас было всё в одном, аплоад все на одном сервере.
А вот когда пошли реальные нагрузки вот тогда началось самое интересное, потому что любители с малым опытом и профы с большим опытом это две большие разницы, но, как говориться без проблем не было бы и роста.
Не пойму почему тут автор похвастался 2-3 часами, а написать логику работы не так и не удалось.
К вам можно в кружок?
Все так думают, пока не начнуть делать серьёзные проекты.
Установить вп, накачать плагинов и функционала, потом через Х времени, нужно решать задачи по расширению доработки, а код не твой, костыли там крутятся тоже не твои
И потом ты начинаешь выгребать, а потом закапывать и делать своё как надо под конкреные задачи проекты.
Как думаешь что лучше дорабатывать своё чем копаться в чужом причём не качественном а то и платном.
так в чем вопрос, если ты понимаешь что все кругом мусор - сделай не мусор и покажи нам пример как надо было сделать.
Не всё кругом мусор - я просто смотрел некоторые реализации и понял что авторы либо выгорели и делают дорабатывают уже на абы обновить.
Так как с расширением функционала и наплывом ошибок и жалоб пользователей видать тоже даёт о себе знать.
А так, за пример, я уже доказал себе по крайней мере, что могу сделать лучше чем у некоторых "коммерческих платных" вариантов, со всеми дочётами ui ux и так далее.
Осталось сделать систему личных сообщений, на этом пожалуй я остановлюсь.
Можно было конечно сделать через custom таксономии, но мне интересно сделать с ноля на чистом php+mysql + ajax + jquery