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

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

HIT

30.09.2015

2784

Для добавления произвольных полей — нужно установить плагин 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 минут.