• Чем адаптивное меню на чистом css лучше такого же меню на js?

    delphinpro
    @delphinpro Куратор тега Вёрстка
    frontend developer
    Если задумка дизайнера позволяет реализовать задуманное без джаваскрипта, то понятно, что лучше реализовать без него.

    Если нет, и джаваскрипт необходим для реализации, то в этом нет абсолютно ничего страшного.

    В обоих случаях действует одно и то же правило: не делайте через жопу.
    Ответ написан
    4 комментария
  • Как сделать так, чтобы php заработал в редакторе страницы Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    1) Крайне не рекомендуется вставлять рнр код в редактор. Но если очень хочется, то плагин Exec PHP или Allow PHP Execute (не знаю работают ли они, т.к. устарели).
    2) Корректный способ добавления рнр кода на странице будет путем создания шорткода, а уже шорткод вставьте в контент. Подробнее - https://wp-kama.ru/function/add_shortcode
    Или же можно рнр код вставить в шаблон и назначить этот шаблон для страницы или записи...
    Ответ написан
    Комментировать
  • Как починить acf?

    alvvi
    @alvvi
    export default apathy;
    ACF чинить не надо, чинить надо архитектуру вашего сайта.
    Не делать каталоги товаров через репитеры, в первую очередь.
    Делайте товары через посты. Текущие 200 экспортируйте в них.
    Ответ написан
    2 комментария
  • PHP IDE для слабого компьютера?

    @Ambrosian
    Sublime как раз то, что нужно с точки зрения производительности.
    Плагины нужно уметь отбирать полезные.

    P.S.:
    Лично я пользуюсь vim на слабых машинах.
    На более серьезных - продуктами JetBrains

    В принципе и на вашей можно пользоваться JetBrains-скими, будет слегонца не комфортно притормаживать. Но они дико удобны.
    Ответ написан
    2 комментария
  • Перестала работать тема на сайте ВП. Это вирус или что?

    @dsmaslov
    Да, это вирус. Следуйте статье: https://codex.wordpress.org/FAQ_My_site_was_hacked
    Ответ написан
    Комментировать
  • Как создать древовидную структуру в wordpress?

    alex-1917
    @alex-1917
    Если ответ помог, отметь решением
    Создавать для каждой марки страницу и делать её родительской для страниц моделей очень не хочется.

    это единственно верный вариант, вас любой СЕОшник просто оближет с ног до головы!!!
    Что ж в этом плохого, в таких страницах? Там можно набить хорошего текста про каждую марку, не нужен лишний непонятный корявый программинг, система будет легко масштабируемая, не будет затыков при смене программиста!!! Структура страниц получится максимально семантичная.
    Иной раз копаешь за такими горе-программерами, которые наклепают кучу таксономий, поди разберись, что имел ввиду автор кривого кода...
    Если вас пугает присущая несуразица в менеджменте страниц в админке WP, то есть отличный плагин Nested Pages - шикарнейшая организация вложенности.
    приведите свои контрдоводы...
    Ответ написан
    1 комментарий
  • Добавить Нет записей в готовый цикл wordpress?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    Не знаю что там в переменных, но, вероятно, как-то так:
    <?php if($posts) : ?>
    <?php foreach($posts as $postdata){ ?>
    
        <?php foreach($postdata as $post){ setup_postdata($post); ?>
    
          
    <div id="post-<?php the_ID(); ?>" <?php post_class('post'); ?>>
    
      Здесь отображение самого поста
            
    </div><!-- /.post -->
          
        <?php } ?>
    
      <?php } ?>
    <?php else : ?>
    <div>Нет записей</div>
    <?php endif; ?>
    Ответ написан
    Комментировать
  • Как разделить функции php плагина и темы в wordpress?

    Плохое решение называть функции одинаково, если они делают разные вещи. Можно добавить некий префикс к названию функции
    Ответ написан
    1 комментарий
  • Где найти WordPress right way?

    lukoie
    @lukoie
    Интересует вот что:
    1. Как все это запихивается под версионный контроль?

    В ВП Вы в основном будете делать:
    а) тему
    б) плагин
    и то и другое гитится как обычно.
    даже при помощи плагинов. У меня на одном проекте даже плагин обновляется из гитхаба. То есть сделал правки в плагине, пушнул его, а в админке вордпресса в разделе плагинов нажал обновить плагин - вуаля, готово.

    2. Где можно посмотреть руководство по эксплуатации внутренностей от людей, которые хотя бы знают что такое KISS и говорят на одном языке с разработчиками?

    У ВП есть бойлерплейт для шаблона и для плагина. С ООП, классами, блекджеком и гейшами. Бери и пользуй. Не хош десять файлов этого вашего ООП - делай в одном файле любую дичь. ВП и это схавает.

    3. Есть ли аналог php the right way где собраны всякие плюшечки в одном месте?

    у русскоязычных считается меккой сайт wpkama

    4. Советы от людей, которые как и я пришли разбираться с wp после паттернов проектирования.

    Самый важный совет - перестать гнать на ВП. Его писали программисты. Нормальные, зрелые программисты. И еще десяток-сотня программистов его тестила и правила. Практически на любой проект найдется десяток людей, кто будет фыркать что и тут не так, и там не сяк, и всё не правильно. ВП это инструмент для КОНТЕНТ МЕНЕДЖМЕНТА, а не для программиста. Это не друпал, сделанный программистами для программистов ради самого программирования. Создатели ВП осознают что это инструмент, который нужен для человека, который будет наполнять сайт, а программист с дизайнером нужны только на начальных этапах его создания, и ВП сделан не ради и не для них.
    Ответ написан
    Комментировать
  • Где найти WordPress right way?

    @Flying
    Я смог пересилить отвращение к коду Wordpress и начать с ним работать после того как узнал про Timber, всё-таки Twig - это совсем не то что фаршировать куски html :)

    Для формирования интерфейсов (и структур данных) в админке я себя не представляю без ACF. Использую Pro версию т.к. оно того явно стоит, но есть и бесплатная. Более того, в 5-й версии они добавили такую замечательную штуку как Local JSON что делает ACF весьма дружелюбным по отношению к системам контроля версий.

    Для мультиязычности недавно появился developer friendly плагин WP Multilang заточенный в первую очередь под разработчиков. В компании с Loco Translate позволяет весьма удобно работать с мультиязычностью.

    Также обязательно нужно помнить про WP cli, без него разработчику привыкшему к консоли тяжело :)

    Для работы с Composer есть Wordpress Packagist, так что плагины / темы можно ставить прямо через Composer. Я пытался запилить плагин для Composer'а который всем этим делом управляет, но пока качество imho недостаточное для отдачи его в public.

    Также очень рекомендую присмотреться к ребятам из Delicious Brains, у них в блоге немало интересного.

    Поддержка Wordpress есть в PHPStorm, весьма помогает.

    В целом Wordpress, конечно, весьма мутная штука внутри, но обложившись тонким слоем абстракций можно жить относительно комфортно :)
    Ответ написан
    2 комментария
  • Как быстрее/правильнее загружать данные?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    Пара кейсов, после которых идея "передать на фронт и фильтровать там" перестает казаться такой хорошей

    1) Прилетел массив на 10 000 элементов. Клиент зашел с Samsung galaxy S2 , попробовал загрузить/фильтрануть, посмотрел, как завис браузер, и ушел. Не забывайте, что не все пользователи сидят с десктопов как у разработчиков с 16-32Gb оперативы. Мобилка может поперхнуться банально из-за большого json-а

    2) Как только потребуется сделать паджинацию - фильтрация на фронте станет выдавать неожиданно некорректные данные

    Пинайте сервер-сайд, пусть разрабы или кэшируют, или расставят индексы в базе правильно, если у них SQL, или перейдут на подходящий поисковый движок с фасетным поиском

    Я верю, что можно сделать выдачу и фильтрацию чисто на фронте с любым количеством элементов, если команда состоит из сплошных ниндзя и рокстаров, но практика в 3 подобные ситуации показывает, что в итоге эту фильтрацию придется переписывать как минимум на гибридную (и поддерживать 2 решения, на фронте для малого количества записей, и на бэке для большого), либо полностью на сервер сайд, так как к сожалению команда никогда не состоит из идеальных разработчиков, чаще из обычных живых людей
    Ответ написан
    2 комментария
  • В чем практическая польза итераторов в JS?

    search
    @search
    мама говорит что я особенный
    Полезность итераторов в том что это открытый интерфейс для любой структуры данных. Как вы уже поняли, любой класс/объект в JS может обладать интерфейсом итератора. Идея итератора в том чтобы скрыть внутреннее представление структуры данных от потребителя этих данных. Например, если вы работаете с какими-либо замысловатыми структурами данных, типа бинарных деревьев. Пользователю совсем не обязательно знать как ваш класс/объект хранит бинарное дерево. Пользователь просто его получает и проходит по всем его элементам в цикле. В дальнейшем, вы можете, при необходимости, заменить одну структуру данных на другую, не меняя самого пользователя. Например, вы можете заменить бинарное дерево на б-дерево прозрачно для самого пользователя (пользователь не будет знать что вы подменили структуры, он по прежнему получает что-то что можно проитерировать и ему этого достаточно).

    Для того чтоб глубже понять суть вопроса, можно погуглить про инкапсуляцию и SOLID (в вашем случае, принцип Open/closed).
    Ответ написан
    1 комментарий
  • Больше время ttfb. Как уменьшить?

    @lagudal
    Совсем недавно столкнулся с подобной проблемой, решал ее в том числе и тут на тостере. Только не wp, а magento2, точнее, тема, используемая в шопе, была тому причиной.
    Как решали.
    1. Тесты, много тестов на разных серверах и условиях, помогли точно убедиться, что причина именно в теме.
    2. Профайлер, логирование запросов помогли определить несколько наиболее требовательных модулей, поставляемых с темой.
    3. Отключение этих модулей никак не повлияло на ttfb, а вот полное удаление всего лишь одного из них - в моем случае - mega menu от разработчика темы - существенно.

    В случае с wp - я бы поначалу отследил, где проблема точно - в теме, в плагинах, может быть в хостинге(сервере).
    Полагаю, сделать это не сложно...
    Ответ написан
    Комментировать
  • Как вернуть сервер к жизни?

    1) Убедиться, что сервер действительно лег. Ибо Роскомнадзор не дремлет.
    2) Обратиться к ТП хостера/ДЦ с просьбой, описанной в п.1
    3) В случае подтверждения п.1, попросить ТП хостера/ДЦ перезапустить сервер.
    Ответ написан
    Комментировать
  • Как сделать сортировку постов в wordpress?

    Во-первых, приучитесь гуглить на английском языке, ваш вопрос уже много раз задавался и решение гуглится за 2 секунды.

    Во-вторых, для того, чтобы делать любую сортировку (в т.ч. по рейтингу, по другим доп. полям) достаточно знать как работает WP Query.

    Вам нужно передавать $_GET параметр на текущую страницу и подхватывать его в скрипте.

    Например кусок кода для вывода постов по дате публикации:

    $postsPerPage = 10;
    $page = 1;
    $query = new WP_Query(array(
        'cat' => 4,
        'post_status' => 'publish',
        'orderby' => $_GET['orderby'],
        'order' => 'ASC',
        'paged' => $page,
        'posts_per_page' => $postsPerPage));


    Сама же ссылка, на показ новостей по дате будет иметь вид site.ru/category/?orderby=publish_date? где значение orderby как раз то, что которое мы передаем в цикл. Это лишь один пример. В случае с, скажем, просмотрами, вы делаете сортировку по доп. полю (как? гуглим wp query custom fields), так как кол-во просмотров, будет у вас доп полем. По комментариям, если я правильно помню, вместо orderby=publish_date мы передаем orderby=comments_num, ну и так далее.
    Ответ написан
    Комментировать
  • Переопределение функции в дочерней теме Wordpress?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    1. Если функция использует хуки или привязана к хукам — отвязать и присоединить свою функцию.
    2. Если выводится в шаблоне — переопределить шаблон.
    Ответ написан
    3 комментария
  • Какой антивирус для Wordpress?

    roswell
    @roswell
    и швец, и жнец, и на дуде игрец
    Wordfence может устроить в точности что нужно.
    Ответ написан
    Комментировать
  • Можно ли использовать только методы jQuery?

    @Flying
    $(selector) возвращает объект jQuery, а document.querySelector() - DOM node. У последнего, очевидно, нет методов jQuery поэтому приведённый код document.querySelector("a").методJQ() работать не будет.
    Ответ написан
    Комментировать