/ Сайтостроение / Плагины / Произвольные поля — ACF

Произвольные поля — ACF

HIT

30.09.2015

3695

Для добавления произвольных полей — нужно установить плагин Advanced Custom Fields.

Вывод различных типов полей

Для вывода содержимого дополнительных полей, нужно добавить код в шаблон вывода

Вывод текстового поля, dolg — псевдоним поля

<?php $text = get_field('dolg'); ?> <?php if($text!="") { echo "<p><small>Должность: </small><strong>".$text."</strong></p>"; } ?>

Вывод изображения, placeholder — псевдоним поля

<?php $image = get_field('placeholder'); if( !empty($image) ): ?> <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> <?php endif; ?>

Вывод произвольных полей в шаблоне category.php

Вывод текстового поля в шаблоне category.php имеет небольшие особенности.

Надо выводить после конструкции:

<?php // номер рубрики $category_id = get_query_var( 'cat' ); // номер текущей страницы $page = get_query_var( 'paged' ); // данные о текущей категории $category = get_category( $category_id ); // данные о дочерних рубриках $children_categories = get_categories( "parent={$category_id}" ); ?>
<?php $text = get_field("dolg", 'category_'.$category_id); ?> <?php if($text!="") { echo "<p><small>Должность: </small><strong>".$text."</strong></p>"; } ?>

Вывод изображения категории
Если нет, изображения — выводить placeholder (не обязательно)

<?php if($imgcat1=get_field("mini-thumb",'category_'.$category_id)) : ?>
<div style="overflow: hidden;"><div id="post-div-pic" style="background-image: url(<?=$imgcat1['sizes']['large']?>);"></div></div>
<?php else: ?>
<div style="overflow: hidden;"><div id="post-div-pic" style="background-image: url(<?php bloginfo('template_url'); ?>/images/img-default-full.jpg);"></div></div>
<?php endif; ?>

Вывод полей в пользовательских таксономиях

Где-то вначале должен быть запрос

$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

и после этого код вывода изображения

<?php if($imgcat1=get_field("mini-thumb",$term)) : ?>
<div style="overflow: hidden;"><div id="post-div-pic" style="background-image: url(<?=$imgcat1['sizes']['large']?>);"></div></div>
<?php endif; ?>

Редактирование групп полей (шаблонов дополнительных полей)

Имена полям присваивать только английскими буквами.
Существует несколько вариантов автоформатирования полей: 1) без форматирования (тэги игнорируются), 2) без форматирования с 3) переносом строк, с форматированием (тэги интерпретируются).

Поле истина/ложь

Тип поля истина/ложь в зависимости от того ставим мы галку или нет дает возможность включать какую-либо функцию, конструкции php.

<?php if( get_field('thumb-background') ) : ?> галка стоит <?php else : ?> галка отсутствует <?php endif; ?>

Проверка функции

Можно сделать чтоб wordpress проверял есть ли данная функция, т.е. если отключить плагин ACF, то WP в местах вызова функций будет выдавать ошибку, избежать этого можно обернув такие функции условием

<?php if (function_exists('get_field')): ?> <?php endif; ?>

При этом (отключение плагина ACF) некоторые дополнительные поля все равно будут работать (Например: миниатюра категории)

Возможные проблемы

Не работает панель визуального редактора.

В моем случае проблема решилась легко — в панели пользователя был отключен визуальный редактор

Поделится информацией с друзьями

  • Комментарии
  • Вложения

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

Пока нет комментариев. Будь первым!

Произвольные поля — ACF
Парсинг контента с различных сайтов
Рекомендации для васПарсинг контента с различных сайтовOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.