@yosiaproger

Можно ли как-то через carbon fields получить сразу массив значений из таба?

Container::make( 'theme_options', __( 'Theme Options' ) )
    ->add_tab( __( 'Слайдер на главной' ), array(
        Field::make( 'text', 'slider_1_title_1', __( '(Слайдер 1) Заголовок 1' ) ),
        Field::make( 'text', 'slider_1_link_1', __( '(Слайдер 1) Ссылка 1' ) ),
        Field::make( 'text', 'slider_1_title_2', __( '(Слайдер 1) Заголовок 2' ) ),
        Field::make( 'text', 'slider_1_link_2', __( '(Слайдер 1) Ссылка 2' ) ),
        Field::make( 'text', 'slider_1_title_3', __( '(Слайдер 1) Заголовок 3' ) ),
        Field::make( 'text', 'slider_1_link_3', __( '(Слайдер 1) Ссылка 3' ) ),
        Field::make( 'text', 'slider_1_title_4', __( '(Слайдер 1) Заголовок 4' ) ),
        Field::make( 'text', 'slider_1_link_4', __( '(Слайдер 1) Ссылка 4' ) ),
        Field::make( 'image', 'slider_1_img_1', __( '(Слайдер 1) Картинка' ) ),
    ) );

Вообщем, делаю возможность добавления контента в слайдер из админки. Могу ли я как то получить сразу весь массив? И как вообще мне лучше реализовать возможность добавления контента в слайдер, может плагин какой посоветуете.. Слайдер готовый уже есть, так что мне необходимо только добавлять заголовки, картинки и оборачивать нужными классами это в цикле
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Вы не можете получить массив, если это не массив. Вам нужно использовать комплексное поле (повторитель, репитер), чтобы эти данные стали массивом:

Container::make( 'theme_options', __( 'Theme Options', 'source' ) )
	->add_fields( array(
		Field::make( 'complex', 'crb_slider', __( 'Slider', 'source' ) )
			->add_fields( array(
				Field::make( 'image', 'crb_image', __( 'Slide Image', 'source' ) ),
				Field::make( 'text', 'crb_title', __( 'Slide Title', 'source' ) ),
				Field::make( 'text', 'crb_link', __( 'Slide Link', 'source' ) ),
			) )
	) );


И вы не правильно используете функцию __() для перевода. Текст должен быть написан на английском, содержать идентификатор темы, после чего его нужно перевести на нужные вам языки с помощью программы poedit или плагина loco translate
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы