Redux — установка и настройка

Главная / Wordpress / Redux — установка и настройка

Не первый проект на WordPress делаю с Redux Framework и каждый раз как заново) Поэтому решила написать прежде всего для себя коротенькую инструкцию, но может и вам будет полезно.

  • Установка плагина Redux Framework
  • Объявляем в header.php и footer.php глобальную произвольную переменную
<?php global $your_var_name; ?>
  • Документация «Get started» http://devs.redux.io/guides/
  • Копирую всю папку sample целиком из директории плагина в папку темы. Прописываю в functions.php для подключения файла конфигурации:
require_once (dirname(__FILE__) . '/sample/barebones-config.php');
  • Всё, начинаю редактировать файл barebones-config.php, в первую очередь меняю там название переменной redux_demo на свое.
$opt_name = 'your_var_name';

Дальше начинаю менять поля и секции под себя, где через чтение документации, где методом тыка))

Вывод нужного поля в шаблоне:

<?php echo $house['phone']; ?>

где $house — это глобальная переменная, а phone — id поля.

Одно из самых используемых полей Redux это repeater. Добавить его несложно, но вывод в цикле заставил меня изрядно помучиться. Вывод всё-таки я организовала, приведу пример своего кода.

Redux::set_section(
	$opt_name,
	array(
		'title'      => __( 'Проекты', 'house-uu' ),
		'id'         => 'projects',
		'subsection' => false,
		'fields'     => array(
			array(
				'id'          => 'repeater_projects',
				'type'        => 'repeater',
				'title'       => esc_html__( 'Проекты', 'house-uu' ),
				'full_width'  => true,
				'item_name'   => '',
				'sortable'    => true,
				'active'      => false,
				'collapsible' => false,
				'group_values' => false, // Group all fields below within the repeater ID
				'fields'      => array(
					array(
						'id'       => 'project_title',
						'type'     => 'text',
						'title'    => esc_html__( 'Заголовок проекта', 'house-uu' ),
						'default'  => '',
					),
					array(
						'id'       => 'project-editor',
						'type'     => 'textarea',
						'title'    => esc_html__( 'Описание', 'house-uu' ),
						'default'  => 'Описание',
					),
				
				array(
					'id'       => 'slider_sortcode',
					'type'     => 'text',
					'title'    => esc_html__( 'Шорткод слайдера', 'house-uu' ),
					'default'  => '',
				),
			),
		),
	),
),
);

Это код из реального проекта, файл barebones-config.php. Как видно из кода, здесь репитер полей используется для добавления группы полей, в моем случае проекта, состоящего из заголовка (project_title), описания (project-text) и шорткода галереи (slider_sortcode).

Вывод в шаблоне в цикле.

<?php
      if (isset($house['project_title'][0])){
						$sum = count($house['project_title']);
						if ($sum > 0) { 
							for ($i = 0; $i < $sum; $i++) {
      ?>
      <div class="project-item">
        <div class="project-item__info">
          <h3><?php echo $house['project_title'][$i]; ?></h3>
          <?php echo $house['project-editor'][$i]; ?>
        </div>
        <div class="project-item__gallery">
          <div class="project-item__slider">
            <?php echo do_shortcode($house['slider_sortcode'][$i]); ?>
          </div>
        </div>
      </div>
      
      <?php
		}
      }
    }
?>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *