Как в WordPress добавить слайдер для страниц (который уже есть в записях)?
Доброго времени суток! Подскажите пожалуйста, у меня есть на слайдер (выводится через шорт-код, настроенный в ACF) Но он только работает в "записях" (постах). Когда я добавляю шорт-код именно на "страницы", то слайдер не отображается. Как добавить слайдер именно на страницы? Заранее благодарю за помощь!
Дополнительно:
Ответы:
нужно в acf добавить страницу или шаблон страницы где нужно выводить
- Спасибо большое за ответ, но в ACF были добавлены страницы, не работает именно слайдер, когда вставляешь шорт-код на страницу, то вместо слайдера изображения идут друг под другом.
- maksimek, значит на страницах не подключен скрипт слайдера
смотрите на шаблоны и на исходники
или
в шаблоне записей поля завернуты в контейнер с определенным классом для слайдера - rootnoroot, Подскажите пожалуйста, а как скрипт подключить к страницам? Я так понимаю к постам он подключен.
- maksimek, так вы сначала исходный код смотрите
если нету, тогда в шаблоне страниц - я не знаю у вас кастом или дефолтный шаблон для стрниц<script src="<?php echo get_template_directory_uri(); ?>/папка/скрипт.js"></script>
<script src="<?php echo get_template_directory_uri(); ?>/папка/скрипт.js"></script>
ну и стили соответственно
и смотрите на обертку, где выводятся поля
- Хорошо, спасибо большое!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Если шорткод слайдера работает в записях, но на страницах вместо слайдера выводит изображения друг под другом, почти наверняка на страницах не подключаются JS/CSS слайдера или ACF-поля/условия привязаны только к post type “post”. Нужно проверить две части: где доступны поля и где подключаются скрипты.
В ACF группа полей должна быть назначена не только на записи, но и на страницы или нужный шаблон страницы. Но если картинки уже выводятся, значит данные скорее всего доступны. Тогда проблема в инициализации слайдера: HTML есть, а JavaScript не превращает его в карусель.
Проверьте подключение скриптов. Плохой вариант:
if (is_single()) { wp_enqueue_script('slider'); }
Так скрипт загрузится только на записях. Нужно добавить страницы:
if (is_single() || is_page()) { wp_enqueue_style('my-slider'); wp_enqueue_script('my-slider'); }
Или подключать скрипт только если на странице есть шорткод:
if (is_singular() && has_shortcode(get_post()->post_content, 'my_slider')) { wp_enqueue_script('my-slider'); }
Также проверьте консоль браузера: возможно, на страницах не загружается jQuery, Swiper/Slick или init-код. Если слайдер написан в шаблоне записи, вынесите его в отдельный shortcode/callback и используйте один и тот же вывод для post/page. Тогда не будет расхождения между типами материалов.