Макс Жуков, ваш искомый элемент всегда будет в массиве последним ("нижний уровень" как вы его называете). Развернув массив в обратном порядке получится что он всегда будет первым, с индексом 0. Что и требуется.
EvgenyMorozov, профилирование само по себе скорее относится к "продвинутым практикам для просветленных", поэтому придется научиться варить. Каким из предложенных способов - другой вопрос и зависит от среды. Если все на локалке - ставьте Xdebug и настраивайте его вместе с профайлером. Но тут без мануалов не обойтись вообще - как в процессе настройки, так и в процессе изучения готового профайла. Имхо, наиболее простой и удобный способ - установить Blackfire. Но бесплатная версия предоставляет только базовую инфу, возможно ее будет мало. Платная версия дорогая, оплата только на год (помесячно не берут), и имеет смысл только для сварщиков высших разрядов. Tideways - как альтернатива Blackfire.
Совершенно не обязательно эти хуки, это уже хардкор для прожженных. В базовом хуке pre_get_posts можно установить все что нужно через $query->set() – и post_type, и по каким полям искать. Гуглится на раз-два на всех языках.
Александр Ожиняк, Никита, не надо два отдельных ноутбука, надо 2 отдельных реальных человека, лучше даже из разных городов или даже стран. При адекватном оформлении проекта бан схватить нереально.
sim3x, Если говорить о CSS/SASS-либах (а в вопросе именно о них), тем более весьма mature (5+ лет все-таки) то спорно. Во-первых, что-то принципиально (и объемно) обновлять там нужно только если переходить на более новые технологии (например, отказываться от сеток на float'ах и внедрять CSS Grids). В остальном - по мелочи, можно делать в рамках конкретного проекта под конкретные потребности. Во-вторых, если либа все-таки низкоуровневая, то там в принципе мало что надо обновлять и поддерживать (хороший пример - тот же Normalize.css который по сути годами не меняется), в худшем случае - компонентно (тот же grid vs flex vs float/inline-block/table-cell). В третьих, опять же, разумнее не говорить о большом фреймворке или либе, а о наборе этих самых либ, более узкоспециализированных. Отдельно сетка/layout, отдельно reset/normalize, отдельно медиа и тд. В целом, ИМХО конечно же, я считаю что должны быть базовые низкоуровневые унифицированные вещи которые максимально reusable, остальное готовится и под конкретный проект на базе каких-то наработок и заготовок. Ибо CSS должен быть небольшой и максимально оптимизирован, а не тащить на каждой странице кучу говна на все случаи жизни и вагон переопределений дефолтных значений большого фреймворка. При таком подходе проекты получается легче и чище. Но да, разработка занимает чуть больше времени. Поддержка - нет, ибо в большинстве реальных случаев обновлять вряд ли что-то кардинально надо, к тому же чистый и минимальный кастомный код поддерживать легче, чем макароны из переопределений фреймворка. И не дай бог сам фреймворк случайно обновить. Но это мое личное мнение, основанное на личном опыте (как в компаниях, так и на фрилансе на проектах которые потом долго приходилось и приходится поддерживать).
И да, еще раз - звезды далеко не всегда являются показателем.
sim3x, ну, если разраб не первый год в деле, то требование 5+ лет выполнимо. По поводу звезд - сомнительно. Вполне нормально держать либу в приватной репе только для себя, не все идет (и не все должно идти) в опенсорс. И даже если идет - количество звезд совершенно ни о чем не говорит. Можно вполне спорный проект раскрутить до 100+ звезд если этим заниматься, а можно не раскручивать и не продвигать хороший код и не иметь звезд вообще.
vvvadimos, поковыряйте плагин который я вам скинул. Из него можно легко выпилить именно тот код, который вам нужен, без настроек в админке, только конкретные хуки для отключения комментов.
И самое главное, задуматься почему JSS у вас 80, может вы не достаточно хорошо делаете свою работу ?
Набил 30 проектов и 2к$
ИМХО, тут другое. при среднем проекте в $66 это днище индустрии, там говноклиенты с проектами "сделать хорошо за копейки на вчера", fixed price, отсутствие ТЗ, завышенные требования и ожидания, и фрустрация + конфликты с клиентами вполне ожидаемая, и даже стандартная тема. Я сам на таком погорел когда хотел быстро набить себе портфель на апворке, закончилось печальным JSS 65 и моим уходом надолго с этой платформы. До сих пор психологически меня от нее воротит. Были случаи когда клиент за $25 выносил мозг под корень и приходилось отрабатывать по 2 недели расчищая его конюшни. А потом клиент принимал работу, писал отзыв в 5 звезд, а через 21 день открывал диспут и требовал вернуть эти $25.
Пума Тайланд, ась?) да ладно. Во-первых, фреймворк это грубое название. Для большинства проектов он не нужен. Нужна собственная унифицированная reusable библиотека. У любого опытного разраба она уже есть по определению.
Дмитрий Жуков, потому что ничего вы не аннулируете, вы не понимаете как WP работает внутри. Query_posts заменяет основной запрос (main WP_Query), но делает это после того, как было установлено глобальное состояние движка - в том числе просчитана пагинация на основе как раз основного запроса.
Погуглите почему нельзя использовать query_posts. Даже в официальной документации написано это. И уже лет 5 минимум эту функцию используют только новички, которые учатся по каким-то устаревшим говноурокам, наступают на эти грабли несколько раз и наконец-то учатся делать правильно.
Короткий совет - просто забудьте о том, что существует такая функция.
Да, но можно же и свой собственный "фреймворк" (если без пафосных терминов, то просто свои наработки, которые ничем не хуже, но без лишнего говнеца) использовать. Не одним же бутстрапом.
graph zero, https://twitter.com/chrislema/status/987068054608556032
Зная Криса, ни секунды не сомневаюсь, что все так и есть и все получится - там команда шарит. Это как пример буквально вот сегодняшний, конкретно по WooCommerce. По WordPress в целом - ну тут даже говорить не о чем, примеров огромных и мощных сайтов с посещениями в миллионах и десятках миллионов - масса.
Как я уже сказал, надо уметь его (WP) готовить. А то, что он способен на многое - это неоспоримый факт. И то, что на нем 30% всего интернета работает - тоже (и более 60% всего рынка CMS).
Из личного опыта - есть проект (правда новостной, тут WP идеально ложится как платформа), на котором за первую неделю запуска было 12.5 млн *уникальных* пользователей, более 40млн просмотров. За первые 8 дней. Дальше пик трафика снизился (просто запуск был очень своевременным и проект был высоко востребован именно в то время), но и сейчас, спустя 4 года, держит приличный трафик в месяц, с 6ю нулями. Второй проект - tickmill.com - сложный, можно сказать навороченный проект на 16 языках (не мультисайт, еще 3 языка на подходе), с огромным количеством кастомных решений, трафик приличный. Работает как часы, хотя и давно уже требует рефакторинга ибо устарел за 3 года и сильно изменился "на ходу" (но клиент тупит, не дает зеленый свет). Есть и другие примеры в портфеле, в том числе на WooCommerce, но далеко не все могу показать - NDA.
Дмитрий Жуков, Смысл в том, что ваш тип записей должен быть среди доступных объектов для меню, переключаетесь на вкладку "View All" и там будет "{post_type} Archives", это и есть то что нужно.