Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
Le_Traceur_Snork

Илья Салигжанов

PHP-программист | Wordpress
  • 15
    вклад
  • 24
    вопроса
  • 44
    ответа
  • 45%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Поднятие сайта на wordpress, с помощью nginx+docker-compose. подскажит советом?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Bedrock: https://roots.io/bedrock/
    Ответ написан 09 сент.
    Комментировать
    Комментировать
  • Какая должна быть ширина фрейма в figma для верстки?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    В "контейнерной" вёрстке на такой случай ставят максимальную ширину контейнера, которая, обычно, что-то в районе 1200px-1300px (напр., в популярном Bootstrap максимальная ширина контейнера для больших экранов - 1320px https://bootstrap-4.ru/docs/5.0/layout/containers/...) и если у Вас экран сильно больше (а для веб-разработчика это не удивительно) - всё равно контент будет укладываться в контейнер с максимальным ограничением ширины, но сам контейнер уже будет как-то отпозиционирован - обычно по центру, разумеется, а "лишнее" расстояние по бокам будет как поля в тетради - на него залезать нельзя и оно служит как бы отбивкой контента от физических краёв экрана
    Ответ написан 10 авг.
    1 комментарий
    1 комментарий
  • Как расположить элементы галереи подобным образом?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Masonry.JS
    А в нативном CSS никак. Только ждать, пока grid снабдят плиточной сеткой (или отдельно от грида забацают)
    Ответ написан 22 июл.
    Комментировать
    Комментировать
  • Как взять содержимое div (текст) и поместить в php?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Судя по комментам к соседнему ответу, девушке нужно получать динамический контент, а не статический. В таком случае, просто PHP тут не обойтись, т.к. PHP обрабатывает серверную часть (бэк), а HTML-разметка - это клиентская (фронт)
    Вам нужно использовать JS-обработчики, например, AJAX (https://api.jquery.com/jquery.ajax/) в библиотеке jQuery - и асинхронно передавать что-нибудь с клиента на сервер в именованном параметре, а на сервере уже получать эти именованные параметры и дальше их обрабатывать

    Искать параметры умеет jQuery (https://api.jquery.com/category/selectors/)
    Отправлять умеет его же AJAX
    Как получать их на сервере: https://www.php.net/manual/ru/language.variables.e...
    Ответ написан 18 июл.
    2 комментария
    2 комментария
  • Почему не работает transition свойство при адаптации на первом скачке?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Потому, что у Вас .container не определяет свойство width вне медиа-запросов, а значит берёт значение по-умолчанию (`auto`), не являющееся числовым. Transition с нечислового до числового значения и обратно не работает

    Как вариант решения: установите для .container вне медиа-запросов width: 1120px (или сами выберите) - я проверил, работает
    Ответ написан 11 июл.
    5 комментариев
    5 комментариев
  • Исключить определенный товар Woocommerce из общего правила, как это сделать?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Вторым аргументом в эту функцию передаётся $product - это объект класса WC_Product_Variable. Можно в функции получать его различные свойства и/или мета-поля, если они были зарегистрированы - и исходя из их значений либо выставлять min_qty, либо нет

    Два варианта:
    1. Совсем в лоб - исключать по перечислению ID ($product->get_id())
    2. По ID продукта получать его мета-поле, скажем, "Минимальное значение этого продукта" - и устанавливать его как min_qty
    Ответ написан 10 июл.
    Комментировать
    Комментировать
  • Почему возникает ошибка PHPStan на Gitlab-pipeline для Wordpress-проекта?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork Автор вопроса
    PHP-программист | Wordpress
    Проблему удалось решить. Пока я был в отпуске выяснилось две вещи:
    1. Наши девопсы обновили гитлаб-раннеры с версии 15.8.* до 15.11.*, в связи с чем PHPStan приобрёл довольно странную особенность поведения (п2):
    2. Теперь PHPStan привередлив к синтаксису поля scanDirectories и не поддерживает формат директорий вида ./directory/, но поддерживает directory/

    Так что решение проблемы было в замене содержимого конфиг-файла phpstan.neon с:
    parameters:
      scanDirectories:
        - ./wp-content/mu-plugins/
        - ./wp-content/plugins/

    на:
    parameters:
      scanDirectories:
        - wp-content/mu-plugins/
        - wp-content/plugins/
    Ответ написан 06 июл.
    Комментировать
    Комментировать
  • Как понять что твоя верстка приемлема?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Как минимум, она должна соответствовать хотя бы каким-нибудь стандартам, например:
    1. Семантические теги - https://www.w3schools.com/html/html5_semantic_elem...
    2. БЭМ - https://ru.bem.info/methodology/quick-start/
    3. Различные best practices - https://www.webfx.com/blog/web-design/20-html-best...
    Ответ написан 04 июл.
    Комментировать
    Комментировать
  • Почему когда я увеличиваю width не увеличивается?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Скорее всего - потому, что менять ширину элемента flex-контейнера нужно в первую очередь через flex-basis
    Ответ написан 30 июн.
    1 комментарий
    1 комментарий
  • Почему слайдер не работает корректно SWIPER JS?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Проблем сразу несколько:
    1. overflow: visible у контейнера слайдера. Нужен overflow: hidden как минимум
    2. Контейнер растягивается на 100% ширины, при этом отступы сделаны padding-ами. Установите хотя бы max-width, а лучше переоберните слайдер в контейнер со своими паддингами и max-width
    3. Некорректное позиционирование кнопок
    4. Копайте в сторону настроек самого Свайпера, чтобы он не скрывал слайды резко (что-то вроде класса `is-visible` или `in-sight`)
    Ответ написан 27 июн.
    1 комментарий
    1 комментарий
  • Как через css показать допустим левую часть картинки только или обрезать правую на 40%?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Обернуть в контейнер, для контейнера поставить ширину 60% от его родительского контейнера и overflow:hidden, а для картинки - width: max-content и height: auto
    Общая идея примерно такая
    Ответ написан 16 июн.
    Комментировать
    Комментировать
  • Почему возникают эти ошибки в php?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    На хостинге стоит настройка, позволяющая выводить ошибки не только ERROR, но ещё и WARNING. Подробнее про них в функции: https://www.php.net/manual/en/function.error-repor...

    Конкретно эти ошибки Вам говорят, что Вы пытаетесь найти элементы с индексами бОльшими, чем размер массива (
    Warning: Undefined array key 1 in /var/www/html/index.php on line 184
    - в массиве нет элемента с индексом 1, а обращение к нему есть)
    Ответ написан 14 июн.
    Комментировать
    Комментировать
  • Как изменить размер информации на страницах Wordpress?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    С использованием CSS. В частности, для отступа шапки следует использовать свойство margin-top для блока шапки, а для отступов от краёв страницы - свойства padding-left и padding-right, возможно в совокупности с max-width
    Если хотите сами - читайте больше про CSS, например, здесь: https://developer.mozilla.org/ru/docs/Web/CSS
    Если не хотите - наймите веб-верстальщика, объясните задачу и он всё сделает. Сайт не выглядит как что-то сложное
    Ответ написан 13 июн.
    Комментировать
    Комментировать
  • Где располагается файл с кодом типа записей на вордпресс?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Вероятно, Вашу проблему сможет решить плагин "Advanced Custom Fields" или аналогичный, добавляющий мета-поля к типу записи

    Если же нужно именно добавить новый тип записи - либо вручную через код (функция 'register_post_type'), либо с помощью плагина "Custom post types" или аналогичного
    Ответ написан 16 мая
    Комментировать
    Комментировать
  • Почему :after не реагирует на изменение CSS-Custom-Property для свойств background-color и opacity, будучи расположенным у тега :visited?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork Автор вопроса
    PHP-программист | Wordpress
    Нет, обойти нельзя, причина в том, что :visited признан небезопасным псевдоэлементом и потому может быть кастомизирован очень ограниченным количеством свойств:
    color, background-color, border-*-color, outline-color и атрибут color у тегов fill и stroke
    https://hacks.mozilla.org/2010/03/privacy-related-...
    Ответ написан 15 мая
    2 комментария
    2 комментария
  • Ошибка на сайте WordPress PHP Warning: call_user_func_array() expects parameter 1?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Судя по всему, у Вас нет функции my_price_replace, по крайней мере, в общем неймспейсе
    Ответ написан 11 апр.
    1 комментарий
    1 комментарий
  • Почему по ссылке на страницу автора вордпресс открывается главная страница сайта?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Согласно иерархии шаблонов Wordpress если у вас нет шаблона страницы автора, сначала применяется шаблон архива и в самом конце - index.php. Видимо, у вас нет шаблона автора
    Ответ написан 29 мар.
    Комментировать
    Комментировать
  • Как сделать чтобы при открытии html документа была музыка?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Тег <audio></audio>
    htmlbook.ru/html/audio
    Ответ написан 29 мар.
    Комментировать
    Комментировать
  • Как правильно перебрать массив?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    1. array_shift() или array_pop(), в зависимости от его нахождения в массиве (с учётом п.2)
    2. Согласно документации на WooCommerce (описание функции), у функции wc_get_products() есть входные параметры "order" и "orderby". По ним и сортируют (order = 'ASC' или 'DESC', orderby = поле сортировки)
    Ответ написан 28 мар.
    Комментировать
    Комментировать
  • Как лучше сделать проверку группы пользователя на каждой странице WordPress?

    Le_Traceur_Snork
    Илья Салигжанов @Le_Traceur_Snork
    PHP-программист | Wordpress
    Подвесить хук через add_filter, например, на init или другое событие, срабатывающее на каждой странице (напр., в шапке сайта); в функции-коллбэке проверять наличие у пользователя определённых прав через функцию user_can() или current_user_can() или даже через объект WP_User и его метод ::has_cap()
    Ответ написан 27 мар.
    2 комментария
    2 комментария
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • rPman
    • 7 ответов
    • 0 вопросов
  • Daemon23RUS
    Daemon23RUS
    • 6 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 4 ответа
    • 0 вопросов
  • Everything_is_bad
    • 4 ответа
    • 0 вопросов
  • koder_1
    • 3 ответа
    • 1 вопрос
  • Isafu
    Isafu-
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации