WordPress Нуб здесь, в настоящее время работает пользовательская тема.

Я пытаюсь выяснить, как лучше всего создать собственный слайдер на моей странице. Я не хочу использовать плагин слайдера, мне нужно сделать его самому, так как он должен учитывать конкретное поведение и конкретный дизайн. Сделать это в vanilla JS не составит труда, но, конечно, мне нужно, чтобы контент (изображения и тексты) был редактируемым в Wordpress. Дело в том, что мне нужно, чтобы этот слайдер многократно создавался на одной и той же странице (друг над другом будет 3 карусели, каждый раз с разным содержанием).

Вот что я подумала:
- Использование «Группировать блоки» в Гуттенберге для группировки необходимых данных (изображения, заголовки, описания) и использование имен классов для извлечения их в javascript и css для выполнения всей работы. Но это было бы грязно, должен быть лучший способ.
- Использование блоков «Пользовательский HTML» в Гуттенберге, но в дополнение к тому, что он уродлив, для человека, редактирующего контент, будет слишком много риска ошибки. Опять же, это не может быть правильным путем.
- Использование «Пользовательских полей». Я попытался использовать плагин «Advanced Custom Fields», что было немного больно, но многообещающе. Однако, кажется, что вы можете иметь только одну группу полей одного типа на странице. Итак, я могу создать пользовательскую группу полей, которая позаботится обо всех полях слайдера, но я не знаю, как обрабатывать несколько слайдеров на одной странице с помощью этого плагина.

Это не может быть так сложно, я что-то упустил?

0
TheCat 20 Фев 2020 в 18:34

2 ответа

Лучший ответ

Вы можете использовать ACF для создания блоков Гутенберга. Это на самом деле должно работать, чтобы делать то, что вы пытаетесь сделать.

Это было какое-то время, но я считаю, что Гутенберг добавляет свой собственный идентификатор в блок, чтобы вы могли взять его, чтобы создать экземпляр слайдера.

https://www.advancedcustomfields.com/resources/blocks/

2
Mark Truitt 20 Фев 2020 в 15:47

Поскольку вы уже пробовали этот маршрут «Пользовательские поля», но ограничения, которыми вы поделились в этом подходе, связаны с ACF, я предлагаю вам использовать эту библиотеку CMB2, которую вы можете включить в свой пользовательский плагин. Использование повторяемой группы полей - лучший способ получить все данные с простым в использовании интерфейсом. И да, вы можете получить эти данные с помощью пользовательских групп и полей с пользовательским идентификатором на любой странице в шаблоне или с помощью шорткода без каких-либо проблем или ограничений.

https://github.com/CMB2/CMB2/wiki

1
Mohsin 20 Фев 2020 в 15:50