АртемЪ: таблица wp_postmeta содержит почти 12 млн строк. Товаров под 200к. Терминов правда меньше, но это как раз не столь важно. Нагрузка высокая (северная Америка, популярный магазин), в распродажи - адская. Ситуация с запросами по postmeta путем перебора всех строк это конечно тормоза, в силу архитектуры данной таблицы. Решается на ура с помощью Elastic Search, который ищет мгновенно и возвращает ID конкретных товаров которые надо отобразить базовым WP_Query без какого-либо перебора метаданных.
я лично знаю и принимал участие в разработке магазинов на WP+WC, в которых объем данных превышал озвученный раз в 5. И все прекрасно работает. Не уметее готовить - не беритесь и не говорите другим ерунды.
Влад Серов: Все правильно. Потому что на ссылках вызывается javascript, но он не работает корректно, в консоли должна быть ошибка, которая объяснит почему, что именно не так. Скорее всего не видит $
Влад Серов: значит не отрабатывает скрипт. Первое - смотрим зависимости. Ему нужен jQuery? Убедитесь что он подключен. И даже если он подключен, будет второй нюанс - jQuery в WP работает в режиме noConflict. Если ваш скрипт использует $ - работать не будет. Смотрите консоль на предмет ошибок. В общем, как я и писал, все скрипты надо подключать через wp_enqueue_scripts, jQuery указывать как dependency, а сам код js писать с учетом режима noConflict. Все это описано в документации по ссылке.
Rou1997: а с чего вы взяли, что я только с WP знаком? :) Я с 1997 года колбашу, до PHP был Perl еще, а с ООП знаком из других языков задолго до того, как WP появился на свет. Мой сознательный выбор в пользу WP в последние годы - совершенно другой вопрос. Не пишите ерунды, у вас кони-люди смешались.
vjjvr: нет, я как раз работал с шаредами, которые сильно дороже VPS. Flywheel например. А также был в одном из датацентров DO. Есть с чем сравнивать, есть понимание того, как это все устроено и там, и там.
Таня: Различия PostgeSQL и MySQL можно нагуглить, информации в сети масса. Оба движка - SQL, поэтому суть у них одинаковая. Импорт-экспорт между ними возможен, все это есть в родной документации.
Александр: Контент хранится в базе данных. Каждая "страница" имеет уникальный ID и тип, а также произвольное количество дополнительных параметров - от собственно контента, до связей с другими элементами - пунктами меню, таксономиями для группировки страниц, метаданными и тд. Далее есть само приложение, которое начинается с роутера - индексного файла-обработчика, который разбирает запрошенный URL на список параметров, и по ним запрашивает/загружает необходимые файлы с функционалом, шаблоны и контент из базы данных. Это в общих чертах. А так на каждом из этапов работы приложения есть масса нюансов, каждый из которых можно реализовать по разному. Существует не один паттерн, например упомянутый MVC (Model - View - Controller). Тут информации на целую книгу.
thehighhomie: Используйте hookr.io - там выбираете "Core" и ищете по функция и хукам, в данном случае вводите "upload" - и получаете все что с этим связано. Там много полезного и интересного.