Carbon Fields версии выше 1.6
Для версии 1.6 работает вывод картинки
<?php use Carbon_Fields\Container; use Carbon_Fields\Field; Container::make( 'theme_options', 'my_website', 'My options' ) ->add_fields( array( Field::make( 'image', 'image_bg', __( 'Bg ) ) ->set_value_type( 'url'), ) ); ?>
В index.php
<div class="my_bg"> <?php $thumbnail_id = carbon_get_theme_option('rule_bg', 'image'); $thumbnail_url = wp_get_attachment_image_url( $thumbnail_id, 'full' ); ?> <img src="<?php echo $thumbnail_url; ?>" alt="" /> </div>
Для комплексных полей
use Carbon_Fields\Container; use Carbon_Fields\Field; Container::make( 'theme_options', 'my_website', 'My options' ) ->add_fields( array( Field::make( 'complex', 'box', __( 'my_box' ) ) ->add_fields( array( Field::make( 'image', 'photo', __( 'My Photo' ) ), Field::make( 'text', 'title', __( 'My Title' ) ), Field::make( 'textarea', 'description_box', __( 'Desc' ) ), ) ) ) );
index.php
<div class="element row"> <?php $data_arr = carbon_get_theme_option( 'box', 'complex' ); if ( ! empty( $data_arr ) ): ?> <div class="item wrap "> <?php foreach ( $data_arr as $cnt => $item ): ?> <div class="box"> <figure> <?php echo wp_get_attachment_image( $item['photo'], 'full'); ?> </figure> <div class="cart"> <div class="title wrap"> <h3><?php echo $item['title']; ?></h3> </div> <p><?php echo $item['description_box']; ?></p> </div> </div> <?php endforeach; ?> </div> <?php endif; ?> </div>
Подскажите пожалуйста как выводить в версии выше чем 1.6 .
Кто работал с carbon fields.
Спасибо за внимание .
Установил:
- WordPress 5.0.3 с темой оформления Twenty Seventeen.
- Поставил Carbon Fields 3.0.2 как плагин.
- Скопировал Ваш код с комплексными полями
- Появились настройки темы. В них комплексное поле. Добавил пару элементов.
- В index.php использовал Ваш код насчёт вывода комплексный полей. Не вывелось.
- Сделал по коду ниже и получил
null
. Что-то не так.$data_arr = carbon_get_theme_option( 'box', 'complex' ); var_dump( $data_arr );
- Первым делом пошёл в документацию к этой версии плагина и нашёл страницу с описанием, как работать с настройками темы, в том числе и пример, как их выводить!
- Ваш код
carbon_get_theme_option( 'box', 'complex' )
- В примере
carbon_get_theme_option( 'box' )
- Исправляю (убираю просто 2 аргумент)
Снова смотрю что внутри:
$data_arr = carbon_get_theme_option( 'box' ); var_dump( $data_arr );
А там
( [0] => Array ( [_type] => _ [photo] => 23 [title] => Девушка с фото [description_box] => В руках девушка держит фотоаппарат. ) [1] => Array ( [_type] => _ [photo] => 21 [title] => Здание [description_box] => Здание и свет сверху. ) )
Информация есть, всё нормально. И соответственно и сам код выводит всё как Вы написали:
А теперь вопрос: что было сложного в этом процессе?
Благодарю за удивленное внимание!) Вот получил общение от вас и понял то что казалось сложным на самом деле проще))
Вывести картинку получилось так :
<?php $data_arr = carbon_get_theme_option( 'rule_bg' ); ?> <img src="<?php echo $data_arr; ?>" alt="" />
Буду разбираться как вывести галерею.
Вот вы у нас многострадалец И по советам не получается, и по документации.