Андрей, Да, часть данных теряется. Так же как часть будет утеряна из-за блокировщиков рекламы. Тот же Safari теперь из коробки к чертям режет часть аналитики, а это 17% пользователей. Firefox вроде тоже собирается (или уже).
Вам критически важна точная статистика отказов? Тогда не используйте подобный метод. Любая оптимизация подразумевает компромисс.
Алексей Гневышев, вы совершенно правы! Я дал лишь пример реализации, а уже конкретные ивенты, на которые подвешивать код – дело каждого конкретного случая.
vic-sokoliuk, На здоровье) Но вы все же немного не уловили суть. Билдеры - это плохо с точки зрения производительности и качества кода. Но, в это же время, билдеры - очень даже вариант если надо сделать быстро, сносно и дешево. Не у всех клиентов есть бюджет пилить все с нуля. Не всем проектам это нужно. И первое, и второе имеет право на жизнь, плюсы и минусы. Да и сделать с нуля как минимум не хуже того же билдера - это тоже опыт, который надо иметь. Задачи разные, решения разные. Просто мой личный выбор - делать только те проекты, которые соответствуют определенным критериям, важным для меня. Билдеры этим критериям не соответствуют.
marselabdullin, Почта меняется в админке, в настройках сайта. Меню настраивается тоже в админке. Для этих действий вам нужен доступ в админку, а не в базу.
vector2014, да. Можно в get_posts( $args ), можно в new WP_Query( $args ) - get_posts() на самом деле внутри делает new WP_Query, только с несколькими предустановленными параметрами. Все это есть в официальной документации.
vector2014,
1. Скорость загрузки или что-то еще просто не нужно считать, потому что использовать эту функцию не нужно. Просто нет. Не обсуждать.
2. Если вам уж прям сильно надо знать из чисто академического интереса... Стандартный запрос - он один. В базу уйдет один SQL-запрос. Даже если вы модифицируете его через хук pre_get_posts - вы модифицируете его параметры перед выполнением запроса. А если вы используете query_posts, то у вас 2 запроса – стандартный запрос выполнится как обычно, а потом выполнится еще и ваш query_posts. Внимание, вопрос: Что будет быстрее - один запрос или два запроса?
3. Плачевные последствия использования в том, что вы ломаете глобальное состояние. И это вылазит непредсказуемым поведением в самых разных местах.
vector2014, основная причина в том, что данная функция не предназначена для изменения параметров запроса и документации черным по белому написано - не используйте эту функцию. Она ломает глобальное состояние WP_Query (WordPress Loop), пагинацию и еще ряд функциональности, которая завязана на глобальный $wp_query. Не говоря уже о том, что она на самом деле вообще не меняет параметры основного запроса, а просто выбрасывает текущий основной запрос, формирует и выполняет новый и заменяет его результатами старый.
Если вам нужно изменить основной запрос (Main Query) - используйте хук pre_get_posts и меняйте сами параметры основного запроса непосредственно перед его выполнением. Если вам нужен дополнительный запрос (Secondary query) - используйте new WP_Query().
VladislaviKys, точно, я же забыл что это твиг. Это же шаблонизатор, там своя кухня https://symfony.com/doc/current/templating/twig_ex... Возможно в интеграции для wpкоторая у вас сделана есть какие-то обертки для этого, тут уже сложно со старта сказать. Попробуйте новый вопрос задач и указать в тегах twig, возможно symfony.
VladislaviKys, у вас похоже php не отрабатывается, это дичь какая-то. Все, что внутри тегов <?php и ?> должно обрабатываться движком PHP и в браузер приходить результат этой обработки. В вашем случае - выводится сам php-код, как есть. Это в каком файле у вас? Может это вообще статическая html-страничка, а не php-шаблон?