Описание
The WP Sticky Menu (or Sticky Header) On Scroll plugin allows you to make any element on your pages «sticky» as soon as it hits the top of the page when you scroll down. Although this is commonly used to keep menus at the top of your page to create floating menus, the plugin allows you to make any element sticky. Make a sticky header, stick menu, sticky widget (fixed widget), sticky logo, sticky call to action or a floating menu.
You just need to know how to pick the right selector for the element you want to make sticky, and you need to be sure it’s a unique selector. Sometimes a simple selector like «nav», «#main-menu», «.menu-main-menu-1» is enough. Other times you will have to be more detailed and use a more specific selector such as «header > ul:first-child» or «nav.top .menu-header ul.main». If you don’t like messing with any code check out out the visual element picker in WP Sticky PRO.
Возможности
- Any element can stick: although common use is for navigation menus, or header the plugin will let you pick any unique element with a name, class or ID to stick at the top of the page once you scroll past it. Use it for sticky widget, sticky sidebar, sticky header, sticky menu, sticky header, sticky call-to-action box, sticky banner ad, etc. Need to make multiple elements sticky? Check out WP Sticky PRO.
- Позиционирование сверху: при желании вы можете добавить любое количество пространства между липким элементом и верхней частью страницы, чтобы элемент не всегда застревал на «потолке» страницы.
- Включить только для определенных размеров экрана: дополнительно вы можете установить минимальный и/или максимальный размер экрана, где должна работать липкость. Это может быть удобно, если у вас есть адаптивный сайт, и вы, например, не хотите, чтобы ваш элемент был липким на небольших экранах.
- Enable only on some pages: sometimes you don’t want the element to be sticky on the entire site. WP Sticky PRO gives you the option to pick posts, pages, categories, tags and CPTs where you don’t want the element to be sticky.
- Выталкивающий элемент: при желании вы можете выбрать любой другой элемент ниже на странице, который снова подтолкнет липкий элемент вверх (например, виджет сайдбара).
- Наличие панели администратора: проверяет, есть ли у текущего пользователя панель администратора в верхней части страницы. Если это так, то липкий элемент не будет заслонять его (и не будет сам заслоняться им).
- Z-index: если на странице есть другие элементы, которые скрывают или просматривают ваш липкий элемент, вы можете легко добавить Z-индекс.
- Режим совместимости: в версии 2.0 был введен новый метод создания липких элементов. В режиме совместимости будет использоваться старый метод. Смотрите подробности в FAQ.
- Динамический режим: некоторые проблемы, которые часто появляются в отзывчивых темах, были решены путем добавления динамического режима (только в режим совместимости). Для подробной информации перейдите в FAQ.
- Режим отладки: узнайте возможные причины, по которым элемент не прилипает, переключившись на режим отладки, и сообщения об ошибках появятся в консоли браузера.
Having problems with SSL? Moving a site from HTTP to HTTPS? Install our free WP Force SSL plugin. It’s a great way to fix all SSL problems.
GDPR compatibility
We are not lawyers. Please do not take any of the following as legal advice.
Sticky does not track, collect or process any user data on the front end or in the admin. Nothing is logged or pushed to any 3rd parties. We also don’t use any 3rd party services or CDNs. Based on that, we feel it’s GDPR compatible, but again, please, don’t take this as legal advice.
Установка
- Загрузите «sticky-menu-or-anything» в свой каталог «wp-content/plugins».
- В панели администратора WordPress перейдите в раздел Плагины и активируйте «Sticky Menu (or Anything!)»
- Перейдите в НАСТРОЙКИ — STICKY MENU (OR ANYTHING!)
- Выберите элемент, который вы хотите сделать липким
- Вечеринка!
Часто задаваемые вопросы
-
Могу ли я сделать несколько элементов липкими?
-
Sure, WP Sticky PRO has that option. You can make as many elements sticky as you like and configure settings individually for each element.
-
Я выбрал класс/ID на экране настроек, но элемент не прилипает, когда я прокручиваю вниз. Почему?
-
Во-первых, убедитесь, что если вы выбрали элемент по имени класса, то ему предшествует точка (напр,».main-menu»), а если вы выбираете его по ID, что ему предшествует решетка/номер (напр, «#main-menu»). Кроме того, убедитесь, что на странице есть только один элемент с селектором, который вы используете. Если нет ни одного элемента или элементов, соответствующего вашему селектору, более одного, то ничего не произойдет.
-
Как только элемент становится липким, он вообще не позиционируется/не имеет правильного размера.
-
Из-за природы CSS существуют ситуации, когда элемент не будет прилипать должным образом, обычно если он имеет определенные свойства, которые используются для управления его местоположением и/или размерами. Если ваш липкий элемент имеет одно из следующих свойств, это может привести к конфликтам:
- отрицательный отступ (negative margins)
- абсолютное позиционирование (absolute positioning)
- свойства сверху/слева/снизу/справа
- «display: inline»
- «!important» применяется к любому из его свойств
Старайтесь избегать всего этого, где это возможно, но если не можете, то иногда помогает использование плагина в режиме совместимости (Legacy Mode) (см. ниже).
Другая ситуация, которая может вызвать проблемы — это когда к любому родительскому элементу прикрепленного элемента применено свойство CSS «transform». -
Как только элемент становится липким, он не реагирует и не меняет размер, когда я меняю размер браузера.
-
Это известная (и раздражающая) ошибка в плагине, которую я еще не смог решить должным образом. Для некоторых сайтов (обычно когда элемент не содержит JavaScript интерактивности) иногда помогает использование плагин в режиме совместимости (Legacy Mode) (см. ниже).
-
Можно ли добавить некоторые стили к элементу, но только тогда, когда он липкий?
-
Чтобы добавить стили к липкому элементу, когда он не липкий, используйте имя класса «.element-is-not-sticky».
Чтобы добавлять стили к липкому элементу, только когда он липкий, используйте имя класса «.element-is-sticky»Следующий код придаст вашему элементу красный фон только тогда, когда он не липкий, а синий только тогда, когда липкий:
.element-is-not-sticky {
background: red;
}.element-is-sticky {
background: blue;
} -
Как только элемент становится липким, есть мгновение, когда вы видите его дважды.
-
Если вы используете плагин в режиме совместимости (см. ниже), это происходит, когда к липкому элементу (или любому его содержимому) применяется CSS переход. Поскольку исходный элемент становится невидимым (и его клонированная копия становится видимой), изменение статуса видимого к невидимому будет происходить с переходом (т. е. не сразу). Либо удалите все переходы, которые есть у элемента, либо попробуйте отключить режим совместимости.
-
Все равно не работает. Что может быть не так?
-
Установите флажок «Режим отладки (Debug Mode)» в настройках плагина. Перезагрузите страницу, и вы сможете увидеть ошибки в окне консоли вашего браузера. Если вы использовали несуществующий селектор ИЛИ на странице их больше, вы получите уведомление об этом в консоли.
-
Можно ли иметь несколько липких элементов?
-
Текущая версия допускает только один липкий элемент, но эта функциональность будет реализована в следующей основной версии. Однако ожидаемой даты выхода нет.
-
How can I report security bugs?
-
You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. Report a security vulnerability.
Отзывы
Участники и разработчики
«Sticky Menu & Sticky Header» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
УчастникиПеревести «Sticky Menu & Sticky Header» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
Журнал изменений
2.35
- 2026-04-15
- minor code fixes
2.34
- 2025-08-10
- minor code fixes
2.33
- 2024-07-08
- minor security fixes
2.32
- 2022-11-20
- minor security fixes
2.31
- 2021-02-19
- fixed one really really visible typo
- added custom footer text on plugin’s admin page
- lowered the price for the team package
2.30
- 2021-02-13
- better clean-up on delete and deactivate
2.29
- 2021-01-30
- added flyout menu
- added monthly price
2.28
- 2021-01-05
- minor bug fixes and improvements
- removed promo campaign for WP 301 Redirects
2.25
- 2020-10-16
- Pro версия здесь
- исправления и улучшения ошибок
2.23
- 2020-10-01
- больше исправлений CSS
- добавлена промо кампания для WP 301 Redirects
2.22
- 2020-09-08
- улучшение для тем с правилом !important на полях вверху и слева внутри липкого элемента
2.21
- 2020-06-19
- исправление безопасности — спасибо Antony из Sucuri
2.2
- 2020-02-01
- исправление ошибок
- незначительные GUI улучшения
- 100,000 пользователей достигнуто 2020-01-31
2.1.1
- Исправлена ошибка минификации
2.1
- Липкий элемент имеет определенные классы для таргетирования липкого/нелипкого состояния: «.element-is-sticky» и «.element-is-not-sticky»
2.0.1
- исправлена ошибка вычисления отступов (проценты отключаются при закреплении)
- исправлена ошибка, когда назначенный цикл стилей вызывал JS ошибку
2.0
- Введен новый улучшенный способ сделать элементы липкими
- Добавлен режим совместимости (для тех, кто хочет продолжить работать в нем)
- Разделить экран настроек на базовый и расширенный
- В режиме отладки используется несжатый файл JS для упрощения удаленной отладки
1.4
- Удалено уведомление об ошибке, если не выбран выталкивающий элемент
- Переименование класса «cloned» на «sticky-element-cloned» и «original» на «sticky-element-original», чтобы избежать конфликтов с Owl Carousel
- Исправлена ошибка, при которой ширина клонированного элемента округлялась вниз, если он содержал субпиксели
1.3.1
- Исправлена незначительная ошибка для выталкивающего элемента
1.3
- Добавлена функция перемещения липкого элемента вниз в случае наличия панели администратора в верхней части страницы
- Добавлена функциональность для выталкивания липкого элемента вверх другим элементом ниже по странице
1.2.4
- Исправлена небольшая ошибка, связанная с номером версии
1.2.3
- Исправлена ошибка с окном выбора динамического режима
- Исправлена ошибка с Z-индексом (спасибо @aguseo за сообщение)
- Весь текст в плагине полностью переводим
- Добавлена вкладка FAQ на экран настроек
- Добавлен инфоблок на экран настроек
- Добавлено несколько комментариев к исходному коду
1.2
- Добавлен динамический режим (устранение проблем с динамически создаваемыми меню — Подробнее см. FAQ выше)
1.1.4
- Готов к WordPress 4.1 (и TwentyFifteen)
- Исправлена ошибка, когда у элемента есть отступы в процентах
1.1.3
- Исправлена ошибка вычисления ширины, появившаяся в предыдущей версии (извините за это), теперь поддерживается изменение размера блока
1.1.2
- Исправлена ошибка вычисления ширины элемента
1.1.1
- Исправлена ошибка вычисления области просмотра
1.1
- Добавлена функциональность для задания минимального/максимального размера экрана
1.0
- Первоначальный выпуск (с использованием версии v1.1 автономного jQuery плагина)


