WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

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.

Спасибо за внимание .

Заметки к вопросу:
campusboy 5 мес назад

Вот вы у нас многострадалец smile И по советам не получается, и по документации.

campusboy 5 мес назад

Установил:

  • 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] => Здание и свет сверху.
		)

)

Информация есть, всё нормально. И соответственно и сам код выводит всё как Вы написали:

А теперь вопрос: что было сложного в этом процессе?

padavan_web 5 мес назад

Благодарю за удивленное внимание!) Вот получил общение от вас и понял то что казалось сложным на самом деле проще))

Вывести картинку получилось так :

<?php 
$data_arr = carbon_get_theme_option( 'rule_bg' );
?>

<img src="<?php echo $data_arr; ?>" alt="" />

Буду разбираться как вывести галерею.

0
padavan_web
5 месяцев назад 1

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация