• Как в плагине Carbon Fields вывести комплексное поле в котором есть еще комплексное поле?

    @borname Автор вопроса
    if (!defined('ABSPATH')) {
    	exit;
    }
    
    use Carbon_Fields\Container;
    use Carbon_Fields\Field;
    
    //Допополнительные поля для шаблона "Решения внутренняя"
    Container::make( 'post_meta', 'Решения внутренняя' )
    		 ->where( 'post_template', '=', 'internal-solutions.php' )
    		 ->add_tab( 'Главный экран', [
    			Field::make( 'text', 'our-solutions-page-1', 'Заголовок' ),
    			Field::make( 'complex', 'test-1', 'Галерея фотографий' )
    			 ->add_fields( 'test-1-1', 'галерея', array(
    					Field::make( 'text', 'test-1-1-1', 'Название раздела' ),
    					Field::make('complex', 'test-2', 'Свойства товара')
    						->add_fields(  array(
    							Field::make('text', 'test-2-1-1', 'Свойство'),
    						))
    			 ))
    		 ])
    		 
    		 ->add_tab( 'Текстовый блок', [
    			Field::make( 'text', 'our-solutions-page-2', 'Заголовок' ),
    			Field::make( 'textarea', 'our-solutions-page-3', 'Подзаголовок' ),
    		 ])
    		 ->add_tab( 'Товары', [
    			Field::make( 'complex', 'our-solutions-page-4', 'Ссылки на страницы' ) -> set_max( 30 )
    			 ->add_fields( 'our-solutions-page-4-1', 'Ссылка на страницы', array(
    				 Field::make( 'text', 'our-solutions-page-4-1-1', 'Название страницы' ),
    				 Field::make( 'text', 'our-solutions-page-4-1-2', 'Ссылка' ),
    				 Field::make( 'image', 'our-solutions-page-4-1-3', 'Добавить иконку' ),
    			 )),
    			 
    			Field::make( 'complex', 'our-solutions-page-5', 'Видео или изображение' ) -> set_max( 1 )
    			->add_fields( 'our-solutions-page-5-1', 'Вмдео с плашкой каталога', array(
    				Field::make( 'file', 'our-solutions-page-5-1-1', 'Видео' ),
    				Field::make( 'image', 'our-solutions-page-5-1-2', 'Обложка для видео' ),
    				Field::make( 'text', 'our-solutions-page-5-1-3', 'Цифры' ),
    				Field::make( 'text', 'our-solutions-page-5-1-4', 'Название' ),
    				Field::make( 'file', 'our-solutions-page-5-1-5', 'Файл для скачивания' ),
    			))
    			->add_fields( 'our-solutions-page-6-1', 'Изображение с каталогом', array(
    				Field::make( 'image', 'our-solutions-page-6-1-1', 'Изображение' ),
    				Field::make( 'text', 'our-solutions-page-6-1-3', 'Цифры' ),
    				Field::make( 'text', 'our-solutions-page-6-1-4', 'Название' ),
    				Field::make( 'file', 'our-solutions-page-6-1-5', 'Файл для скачивания' ),
    			))
    			->add_fields( 'our-solutions-page-7-1', 'Видео без каталога', array(
    				Field::make( 'file', 'our-solutions-page-7-1-1', 'Видео' ),
    				Field::make( 'image', 'our-solutions-page-7-1-2', 'Обложка для видео' ),
    			))
    			->add_fields( 'our-solutions-page-8-1', 'Изображение без каталога', array(
    				Field::make( 'image', 'our-solutions-page-8-1-1', 'Изображение' ),
    			)),
    			Field::make( 'complex', 'our-solutions-page-9', 'Карточки товаров' ) -> set_max( 30 )
    			 ->add_fields( 'our-solutions-page-9-1', 'Товар', array(
    				 Field::make( 'image', 'our-solutions-page-9-1-1', 'Изображение' ),
    				 Field::make( 'text', 'our-solutions-page-9-1-2', 'Название' ),
    				 Field::make( 'text', 'our-solutions-page-9-1-3', 'Ссылка' ),
    			 )),
    			 Field::make( 'text', 'our-solutions-page-10', 'Название кнопки' ),
    			 Field::make( 'text', 'our-solutions-page-11', 'Ссылка для кнопки' ),
    		 ])
    		 ->add_tab( 'Применение', [
    			Field::make( 'text', 'our-solutions-page-12', 'Заголовок' ),
    			Field::make( 'complex', 'our-solutions-page-13', 'Карточка' ) -> set_max( 30 )
    			 ->add_fields( 'our-solutions-page-13-1', 'Карточка', array(
    				 Field::make( 'text', 'our-solutions-page-13-1-1', 'Название' ),
    			 )),
    			Field::make( 'image', 'our-solutions-page-14', 'Изображение' ),
    		 ])
    		 ->add_tab( 'Преимущества', [
    			Field::make( 'text', 'our-solutions-page-15', 'Заголовок' ),
    			Field::make( 'text', 'our-solutions-page-16', 'Подзаголовок' ),
    			Field::make( 'complex', 'our-solutions-page-17', 'Преимущества' ) -> set_max( 4 )
    			 ->add_fields( 'our-solutions-page-17-1', 'Преимущество', array(
    				 Field::make( 'text', 'our-solutions-page-17-1-1', 'Текст' ),
    				 Field::make( 'image', 'our-solutions-page-17-1-2', 'Иконка' ),
    			 )),
    			
    		 ])
    		 ->add_tab( 'Гарантия и сертификаты', [
    			Field::make( 'text', 'our-solutions-page-19', 'Заголовок' ),
    			Field::make( 'textarea', 'our-solutions-page-20', 'Подзаголовок' ),
    			Field::make( 'image', 'our-solutions-page-21', 'Изображения' ),
    			Field::make( 'complex', 'our-solutions-page-22', 'Cертификаты' ) -> set_max( 40 )
    			 ->add_fields( 'our-solutions-page-22-1', 'Cертификат', array(
    				 Field::make( 'text', 'our-solutions-page-22-1-1', 'Название сертификата' ),
    				 Field::make( 'text', 'our-solutions-page-22-1-2', 'Применение' ),
    			 )),
    			
    		 ]);
    //end
    Написано
  • Как в плагине Carbon Fields вывести комплексное поле в котором есть еще комплексное поле?

    @borname Автор вопроса
    Михаил Р., Выводит пустой массив
    <pre>array (
    )</pre>


    Хотя поля добавлены
    Field::make( 'complex', 'test-1', 'Галерея фотографий' )
    			 ->add_fields( 'test-1-1', 'галерея', array(
    					Field::make( 'text', 'test-1-1-1', 'Название раздела' ),
    					Field::make('complex', 'test-2', 'Свойства товара')
    						->add_fields(  array(
    							Field::make('text', 'test-2-1-1', 'Свойство'),
    						))
    			 ))
    Написано
  • Как в плагине Carbon Fields вывести комплексное поле в котором есть еще комплексное поле?

    @borname Автор вопроса
    Михаил Р., к сожалению ничего не выводит в данном варианте
    <?php foreach ($block['test-2'] as $blocktwo): ?>	
    		<?php echo '<pre>' . var_export($blocktwo, true) . '</pre>'; ?>
    		<span class="solution-products__name"><?php echo ( $blocktwo[ 'test-2-1-1' ] ) ?></span>	
    	<?php endforeach; ?>


    Если добавить сюда:
    <?php $blocks = carbon_get_post_meta( get_the_id(), 'test-1'); ?>
    <?php if (!empty($blocks)): ?>	
    <?php foreach ($blocks as $block): ?>
    	<?php switch( $block[ '_type'] ) {
    		case 'test-1-1' : {
    	?>
    	<span class="solution-products__name"><?php echo ( $block[ 'test-1-1-1' ] ) ?></span>
    	<?php echo '<pre>' . var_export($blocks, true) . '</pre>'; ?>
    	<?php foreach ($block['test-2'] as $blocktwo): ?>	
    		<?php echo '<pre>' . var_export($blocktwo, true) . '</pre>'; ?>
    		<span class="solution-products__name"><?php echo ( $blocktwo[ 'test-2-1-1' ] ) ?></span>	
    	<?php endforeach; ?>
    
    	<?php 
    		break;
    	} }
    
    ?>
    <?php endforeach; ?>
    <?php endif; ?>


    то выводит следующие
    <pre>array (
      0 =&gt; 
      array (
        '_type' =&gt; 'test-1-1',
        'test-1-1-1' =&gt; 'Название раздела №1',
        'test-2' =&gt; 
        array (
        ),
      ),
      1 =&gt; 
      array (
        '_type' =&gt; 'test-1-1',
        'test-1-1-1' =&gt; 'Название раздела №2',
        'test-2' =&gt; 
        array (
        ),
      ),
    )</pre>
    Написано