Как устроен сайт Wp-Kama
Давно пользуюсь этим справочником (сайтом Wp-Kama) и интересна "внутренняя кухня". Понятно что наработки уникальные, но хотя бы в общих чертах.
-
Как работает проверка функций на скорость (скорость света и т.д)?
-
Как идет внизу функции отсылка к оригинальным файлам filecode/?
-
Используешь ли какой апи wordpress.org (может есть для разработчиков)?
-
Как и в каких таблицах хранишь описания функций, их связи?
-
Как поддерживаешь актуальность информации? - вп апи меняется, исправляется, дополняется - как и где ты получаешь эту информацию?
-
Как устроен у тебя поиск в шапке сайта? - релевантность и отгадывание запросов наводят на мысль что это не просто вп поиск. Это движок типа sphinx? Учитывает ли он частые вопросы или ключи - по которым он выдает конкретный результат?
- Планируешь ли ты развивать личный кабинет и социальную составляющую пользователей там?
В общем интересен этот вопрос. Не буду делать копию твоего сервиса. Для этого нужно очень много времени. Интересны нестандартные реализации сайтов на ВП. Твой вот попадает под этот интерес.
Тимур - вопрос именно к тебе.
Я написал небольшой обработчик на PHP. В результате: так как сайт на WP, я в спец поле вставляю PHP код и он обрабатывается при обновлении записи. Для каждой функции код разумеется свой - подходящий. Результат обработки (время выполнения) записывается в метаполя: 1 раз и 50000 раз. На основе результата потом функцией выводятся подписи - быстро, медленно и т.д. К примеру вот такой код обрабатывается у edit_post_link():
Тут все просто, не считаю подсветку кода. С этим скриптом я провозился долго...
filecode - это отдельная страница со своим шаблоном. Все что после filecode/ - это считается путь до файла движка. Далее, проверяется если указанный файл разрешен и есть на сервере, то выводится его код, просто считывается файл...
При написании функции автоматом формируется шаблон. Там данные беруться из 2-х сайтов. Первый офсайт - developer.wordpress.org под него я вручную написал парсер и его дополняет codex.wordpress.org (раньше он был основной), если там есть данные... Второй это API api.wpseek.com - но там не все функции есть и нет всех данных - он на подстраховке.
Все это доп.типы записей и таксы. Все с привычной структуре WP... Также для удобства есть у меня такие скрытые самописные модули, например:
При релизах просматриваю все что изменилось в codex.wordpress.org и где надо вношу правки в описание функций и хуков, которые у меня уже описаны. Ну и в целом тут там читаю, поправляю. Это немного нудный процесс. Чтобы ускорить, я прям из фронда на аяксе могу править статьи. Также для удобства я внедрил Markdown - а это геморрой еще тот - все переделывал под разметку, там настройка и все такое - короче было тяжко его внедрять на рабочий сайт с уже кучей контента...
Там 2 поиска: парсер из гугла, но он по IP довольно быстро блочит - IP то один... Далее, работает поиск на базе родного WP. Каждый запрос кэшируется... Скрипты, подсветки это все уже самопис...
«Личный» планирую, уже даже есть основа кода, надо переделать только... Планирую регу и логин через социалки вставить, установку аватарок, «закладки» и т.д.. И его надо немного удобнее сделать чем сейчас... Правда, когда это будет неизвестно...
Насчет социалок, пока вроде не планирую ничего, не вижу большого смысла с точки зрения удобства для пользователей. Для сео вроде нужно, но я на сео в целом забил - для себя, для людей делаю... Я тут больше по настроению что-то делаю, как заработок - этот сайт не стоит трудозатрат...
Как-то так
Спасибо за ответ, познавательно, и за полезный сервис. Работа с поддержкой актуальности api конечно нелегкая и как ты и сказал нудная. Спасибо что не теряешь интерес к этой теме.
Социалку он имел в виду не сео, а создать кабинет так, чтобы людям хотелось вливаться в комьюнити и генерировать контент для сайта. За ответ спасибо, тоже было интересно почитать!