Комментарии 24
Еще раз напишу. Прекрасно для старта, но если проект взлетает, от WP надо избавляться как можно быстрее.
Базы для спама и интернет магазины на wp это форма мышления.
Помню на хабре статья была про человека, который шаманские программистские бубны продавал. Ну сколько у него там моделей бубнов было? И ничего взлетел проект еще как!
Ну в реальности, все запросы агрегируются, а уже после происходит запрос, и если даже нужно 10 раз подучить post_title и 50 post_conten то это один запрос, а не как вы там написали выше. Нет я конечно понимаю что у вас наверняка найдётся аргумент типо «нет» но в реальности работает так как я выше описал, сам проверял. Да и к тому же вы не поверите как много и не как быстро современный MySQL может выполнять запросы, даже неоптимальные.
каждое свойство на самом деле это две записи в таблице wp_postmeta:
1. post_id, 'price', 'field123'
2. post_id, 'field123', 500
Из за того, что для выполнения запроса №2, вам требуется значения из запроса №1, вы не можете полноценно аггрегировать. Почти всегда эти свойства еще и вызывают из шаблона, что мешает заранее все аггрегировать :)
Но полностью согласен с пунктом про post_title/post_content, эта информация хранится в таблице wp_posts, с ней можно адекватно работать. Увы, это всего два поля, в магазинах используют сотни аттрибутов, а вот они как раз в мета полях. Со скоростью работы mysql тоже соглашусь. Тем не менее, моя рекомендация, не заигрываться с интернет магазинами на WP. Как только появилась нагрузка, прокачать VPS и думать об альтернативах.
Ну, из того кейса что в статье вроде описывается из метаданных скорее всего будет только цена использоваться, с этим можно жить. Нет ну если конечно завести каждый параметр товара отдельным полем то конечно это будет тяжеловато наверное. Но обычно это не так, тайтл, контент, цена и картинка. Такие магазины вполне нормально хоть на чем делать. А вот что не нормально так это то что woocommerce php сессии использует, и если WordPress можно эффективно кешировать то с этим человеком замечательным плагином уже нельзя. Вот это проблема да. Но это не про количество записей или метаданных, все гораздо печальней, плохо будет при большой посещалке не зависимо от наличия товаров. Остаётся утешать себя тем что посещаемый интернет магазин, быстро сделает его хозяина богатым, а там пусть хоть огнём горит :-D В целом согласен на woo лучше магазин не делать, а есть ли альтернативы чтоб из коробки работали и совсем не стоили денег не знаю, возможно и нет.
Что плохо и о чём следует знать всем, кто хочет себе сайт на WP — общее низкое качество плагинов и шаблонов. WordPress предлагает много полезных возможностей из коробки, позволяющей сделать, в принципе, шустро работающий проект (если не хотеть опять-таки сотни тысяч постов и товаров), но разработчики вечно придумывают крайне неэффективные костыли и в целом не заботятся о том, насколько их решение жизнеспособно.
Например, команда разработки WooCommerce, судя по изменениям в коде, относительно недавно стала задействовать PHP CodeSniffer для обнаружения проблемных мест. До этого приходилось перелопачивать каталог /templates/, экранируя везде вывод переменных, а с 3.4.x (год назад) начались подвижки в лучшую сторону.
На основе того, как авторы плагинов фильтрации-рубрикации (такие обязательно ставят себе владельцы интернет-магазинов) реализуют банальное перечисление рубрик, можно писать сборники «Вредных советов»: от каких-то непостижимых манипуляций с url и именами категорий для вычисления id и соответственно вывода названий до некешируемых прямых запросов к БД. Естественно, с такими утяжелителями магазины с жалкой сотней товаров начинают тормозить.
Ещё есть прослойка плагинов, чьи авторы догадываются, что стандартные таблицы wp_post, wp_postmeta и другие *meta
Бывают и более дикие решения. В одном кастомном шаблоне, разработанном для городского новостного сайта, за который явно отдали немаленькие деньги, свойства погоды (влажность, давление, уровень воды и т.п.) записывались в ячейки отдельных таблиц прямыми SQL-запросами и прочитывались оттуда же в том же .php файле! При этом обновление погоды происходило не через планировщик WP, а неэкранированные POST-запросы, передающие текущую дату вместе с массивом ненужных данных, и сравнение с той, чтобы была в ячейке таблицы БД.
После такого раздрая в плагинах и шаблонах оптимистично говорить о создании крупных магазинов на WordPress сложно. Ибо и WP по структуре своей не подходит для этого, и нормального разработчика не найти.
240 + 29 = 269$
последняя версия, обновления
Это приходится объяснять каждому первому, и хорошо если четверть поймёт и не забудет/не забьёт.
К слову про покупку плагинов для WP и лицензию. Есть такой плагин, Advanced Custom Fields — это золотой стандарт для WP, стоит практически на каждом WP-сайте. Вы можете как и купить на него лицензию за расширенный функционал, либо скачать прямо с гитхаба, куда выкладывает полную версия сам автор плагина(правда, иногда, с запозданием на одну-две минорные версии).
У меня куплена максимальная лицензия ещё много лет назад, но устанавливаю все плагины композером, и тот самый ACF я как раз тяну с гитхаба.
Мне кажется что слишком много слов в статье для того чтобы понять что можно купить шаблон и развернуть сайт на вп. Кроме как псевдо нативной рекламы каких то спам баз, я для себя ничего не увидел в этой статье. Может быть это кому то полезно, но не очень в этом уверен)
Зачем какой-то коннект, если можно привязать домен напрямую?
Продающий + красивый интернет-магазин на WordPress за 269$ «с нуля» — наш опыт