• Как написать класс Walker_Nav_Menu для подсписков меню?

    kumaxim
    @kumaxim
    Web-программист
    Документация по классу Walker для WP
    В качестве готового примера можешь посмотреть wp-bootstrap-navwalker

    Читай, анализируй, пиши. Готового кода под такую задачу у меня нет.
    Ответ написан
    2 комментария
  • Как в Wordpress изменить классы и теги в Submenu?

    BBoyJuss
    @BBoyJuss
    WordPress, интерфейсы и все вытекающие
    Необходимо создать кастомный walker для меню, и делать в нём всё что угодно. Для примера https://misha.blog/wordpress/nav-menu-walkers.html
    Ответ написан
    Комментировать
  • Как исправить ошибку [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See?

    А что не понятно? Нельзя вызывать event.preventDefault() внутри пассивного обработчика. А обработчики для тач-событий пассивны по умолчанию.

    Так что либо не вызывать preventDefault(), либо регистрировать обработчик как-то так:
    element.addEventListener(handleEvent, { passive: false });

    Подробнее здесь
    Ответ написан
    4 комментария
  • Как подключить кастомные стили woocommerce?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    А зачем править этот файл.
    1) добавляйте стили в style.css самой темы. Чтобы перезаписать стили добавляйте !important
    2) Можно полностью отключить дефолтные стили вукомерца и написать самому.
    add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );

    Подробная инструкция - https://docs.woocommerce.com/document/disable-the-...
    И наконец, не забудьте добавить
    <body <?php body_class(); ?>>
    к тегу body, так как вукомерц использует стили
    Ответ написан
    Комментировать
  • Как сделать кастомную страницу авторизации в WP?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Вопрос "что делать?" — это вопрос философский. По сути в вас есть два варианта:

    1. Вы можете вооружиться банкой кофе и документацией, переписать форму регистрации и авторизации, разобрать функции, найти фильтры как заменить ссылку и все, что вам встретится по пути и надеяться, что вы не наделали дыр в системе авторизации
    2. Не заниматься ерундой и оставить ссылку авторизации в покое, пока у вас нет несколько миллионов активной аудитории, ваш сайт не представляет никакого интереса для взломщиков. Поставьте сложный пароль. Поставьте защиту от брутфорса fail2ban и спите спокойно


    Тут функции, которые вам понадобиться для первого варианта. Можете начать с функции wp_login_form(), она выводит HTML-форму авторизации
    Ответ написан
    Комментировать
  • Нужна ли формам семантика?

    @asmodeus13th
    Семантика нужна не только для удобства слепых и любителей TAB клавиши. Почитай статьи, как это влияет на поиск в гугле, восприятие плагинами, дополнениями и ботами. Даже тот же ИИ настраивают под семантику. В эту тему можно нырнуть на очень большое время, но основа (вкратце) - возможность понимать друг друга. Время , потраченное на создание архитектуры проекта, может быть больше, чем на написание кода. Зачем? А это самое интересное! Во- первых, ты уберегаешь себя и коллег от возможных багов и позволяешь легко ориентироваться по файлам, не зависимо от размера и познания в проекте. Хороший код - тот, который можно легко читать. Зачастую приходиться уступать производительностью ради читабельности. Придерживаться семантики - значит писать в едином стиле со всеми разработчиками. Даже если опустить архитектуру, то семантика нужна и для различных ботов. Вот написал я плагин для хрома, который делает мини-навигацию по форме (на самом деле ничего я не писал, просто привожу пример) и ориентируется поиск по тегу с формой, а у тебя на странице такого даже нет и всё, плагин работать не будет. А теперь представь какую фичу ты упускаешь, когда прячешь разметку от гугловских ботов. Любые таблицы, правила, списки и прочие семантические данные выводятся на странице поиска. Попробуй загуглите какую-то страну или инструкцию для, например, убунту. Гугл выведет информацию из Википедии или другого ресурса, не заходя на сайт. Думаешь, Телеграм не использует семантику? Вот весь такой оптимизирован благодаря ей. Посмотри на ютубе семинары от HTML Academy по семантике. Там всё доступно объясняют (что очень большая редкость для онлайн курсов). Понятное дело, что собирая сайт через фреймворки или путем встраивания html из js, боты не увидят эту семантику, а просто один тег с Id=“root”. Если взять в пример Figma, то семантики ты не увидишь, так как это не задумывалось как сайт, а скорее как приложение. Не придумали в html ещё таких тэгов как «рисовать пером» или что-то вроде «шаблон шаблона страницы». В общем семантика должна быть там, где она уместна. Если тебе не нужны привилегии семантической разметки или это соло проект без развития или вообще ты делаешь проект на оте*бись для плохого заказчика за 5$, то можешь не заморачиваться. Но в остальных случаях хорошей практикой, да и просто для себя, будет уместно и очень полезно использование семантики.
    Ответ написан
    1 комментарий
  • Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

    abler98
    @abler98
    Software Engineer
    Нужно вручную добавить домен с указанием папки. Делается это примерно так:
    569c765f0fec4a63be1b55004aeb4d2e.png
    Ответ написан
    1 комментарий
  • Как задать отступы между слайдами в SLICK?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    задаешь стили для .slick-slide {padding: 0 15px;} к примеру. а для контейнера margin: 0 -15px;
    Ответ написан
    13 комментариев
  • Как убрать отступы у div, обнулял и в body и в html и в родительском блоке, в codepen тоже самое что и в chrome?

    @IvanGrishov
    Начинающий Frontend разработчик
    Нужно добавить всем элементам (через знак " * ") margin: 0, padding: 0. Плюс удалить пробелы в самом html.

    Ответ написан
    Комментировать
  • Как сделать шрифт тоньше?

    @tef
    Забей, это херня никогда не работала нормально. Просто возьми другой, тонкий шрифт.
    Ответ написан
    Комментировать
  • PHP: автозагрузка классов. Объясните на пальцах на простом примере?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Все свои классы располагаете в папке app/ (к примеру)
    Всем классам задаете namespace Fogersp\SuperProject
    В composer.json пишете в секции autoload

    ...
    "autoload": {
      "psr-4": {
        "Fogersp\\SuperProject\\": "app"
      }
    },
    ...


    Это значит, что классы с нэймспейсом Fogersp\SuperProject автозагрузчик будет искать в папке app/
    Например, класс Fogersp\SuperProject\DB\Entry должен располагаться в файле app/DB/Entry.php

    Далее в корне проекта выполняете команду
    composer dumpautoload
    и композер создаст вам автозагрузчик.

    Теперь в точке входа подключаете этот загрузчик и не паритесь о подключении файлов
    include '../vendor/autoload.php';

    Вот и всё =)
    Ответ написан
    10 комментариев
  • Как писать медиа запросы в Sass?

    MedVedar
    @MedVedar
    e-commerce developer
    @media screen and (max-width: 1200px)
      .block
        width: 200px

    Вы забыли and после screen.

    P.S. Переходите на синтаксис scss.
    Ответ написан
    Комментировать
  • Изучение Laravel, с чего начать?

    Sinersis
    @Sinersis
    Специальст широкого профиля
    Ну наверное я щас напишу еще раз то что многие уже написали:
    1. Обязательно вам нужна голова на плечах.
    2. Желание прочитать тонну документации с примерами по PHP
    3. Большая кружка для кофе\чая (нужное подчеркнуть)
    4. Освежитель для мозгов
    5. Умение пользоваться Google.com
    6. Cайт с документацией по Laravel
    7. Готовность к выполнению кучи рутинных задач для набивания руки.
    8. ТЕРПЕНИЕ! ТЕРПЕНИЕ! ТЕРПЕНИЕ! ЗАИНТЕРЕСОВАННОСТЬ!
    Ответ написан
    1 комментарий
  • Как предать значение из одной функции в другую на javascript?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    0. Гуглим "как правильно задавать вопросы на stackoverflow/тостере"
    1. Гуглим про замыкания в js
    2. Гуглим "почему глобальная область видимости - это плохо"
    3. Гуглим "как не засорять глобальную область видимости в js используя замыкания"
    4. Гуглим "почему навешивание событий через атрибуты тегов это плохо"
    5. Изучаем досконально learn.javascript.ru и пробуем применять изученное на практике
    6. (опционально) изучаем jQuery и lodash
    7. Разбираемся с асинхронностю в js и изучаем промисы

    Какой то пункт вызвал проблему? Проверьте свои знания в предыдущем пункте. Не помогло? Освежаем в памяти пункт 0 и задаем вопрос на тостере
    Нет на все это времени или терпения? Бросьте это дело, просто наймите человека который напишет Ваши скрипты за Вас.
    Ответ написан
    Комментировать
  • Возможно ли написать универсальный обработчик форм?

    ksider
    @ksider
    Я сварщик не настоящий
    а если перебрать foreach массив $_POST?
    Ответ написан
    2 комментария
  • Как вы защищаете сервер от взлома?

    opium
    @opium
    Просто люблю качественно работать
    сервер:
    - запретил вход из под рута по SSH
    ни разу на тысячах серверов у меня не сломали рута за 10 лет

    - поменял порт SSH
    просто засканить можно ваш новый порт, тоже смысла нет

    - повесил fail2ban на mysqld, ssh с количеством попыток 3
    ни разу у меня не подобрали пароль на мускул или ссх на тысячах серверов за 10 лет , используйте длинные генеренные пароли и спите спокойно, от реальной угрозы если вы профукали пароль это не спасет

    - для каждого сайта создал своего пользователя mysql
    о боже , а что как то по другому бывает? даже говнопанели создают так

    - запретил заходить выше /var/www по SSH, без sudo su
    вообще зачем кому то разрешать туда заходить

    используйте авторизацию по ключам а не по паролям для ссх
    Ответ написан
  • Как вы защищаете сервер от взлома?

    Используйте контенеры. Создавайте отдельный контейнер со всем софтом для каждого сайта отдельно. В корневой системе оставьте только базовый софт и фаервол. Прокиньте внутрь только 80/443 порты. Ну и ссх по ключу в корневой. Даже если вам таки взломают один из сайтов - проникнуть в соседний контейнер будет проблематично. Что бы не настраивать каждый контейнер ручками - используйте chef/ansible или что угодно на ваш вкус. И каждый новый сайт - новый контейнер со своими mysqld/php/nginx и всем остальным. Даже если случайно установите что-то не защищенное из софта - получить к нему доступ их вне проблематично.
    Создайте отдельный контейнер с nginx на который фаервол перенаправит 80/443 порты. А он уже проксирует запросы в нужные контейнеры. В нем же храните и SSL сертификаты и ключи. Что б их не угнали при взломе.
    И конечно ossec или аналоги + оповещения от него. Расскажут вам о вторжении в тужу минуту. Ставить в каждый контейнер.
    Ответ написан
    Комментировать