2013-01-18 4 views
2

Я использую расширенные настраиваемые поля. Функция флажка в wordpress.дополнительные пользовательские поля Флажок

Я создал <ul> с четырьмя <li>

<ul class="post-icons"> 
    <li class="microphone" title="Alt text"></li> 
    <li class="video" title="Alt text"></li> 
    <li class="text" title="Alt text"></li> 
    <li class="image" title="Alt text"></li> 
</ul> 

И я создал четыре флажков в передовых пользовательских полей. Если я использую этот PHP в class="(here)".

<?php echo implode(' ', get_field('field_name')); ?> 

Это напечатает значение Флажки на классе «», но он будет печатать все четыре значения Флажки, что я создал. Я только хотел бы напечатать правильный номер в нужном месте.

Лучший способ использовать класс .active, но расширенные настраиваемые поля не позволяют использовать несколько флажков с одинаковым значением. Я имею в виду, что если вы Проверить Checkbox на Image и текст он будет печатать .active или что-то мудрое на

<li class="image" title="Alt text"></li> and 
<li class="text" title="Alt text"></li> 

Like = <li class="image active" title="Alt text"></li> and <li class="text active" title="Alt text"></li> 

У меня есть четыре Флажки

  • Видео
  • Текст
  • Sound
  • Изображение

И четыре <li>

- <li class="video"></li> 
- <li class="text"></li> 
- <li class="microphone"></li> 
- <li class="image"></li> 

микрофон = звук

Я хотел бы напечатать .active на правой <li>class"" пункта. Когда соответствующий флажок установлен,

Я свяжусь с документацией для расширенных пользовательских полей. Флажок Я не очень понял, как создать что-то, что мне понадобится для моего проекта.

Documentation

+0

Я не совсем понимаю ... Каковы варианты флажка (в конфигурации ACF)? Зачем вам нужны они с одинаковым значением в конфиге? Почему вы взорвали поле? – brasofilo

+0

Привет, brasofilo, я хотел бы использовать флажки для простого добавления имени класса для моих значков Post, которые они будут показывать на странице. Мои варианты выбора - это звук, видео, текст, изображение.Если я проверю текст и изображение, это будет выглядеть так [ссылка] (http://alturl.com/soomx). Смотрите два белых значка рядом с заголовком сообщения. Надеюсь, что это немного разъяснило мне то, что я делаю. – Pullapooh

+0

Пожалуйста, отредактируйте свой вопрос и покажите нам, как должен отображать Html на основе значения поля. – brasofilo

ответ

5

Это не совсем ясно из вопроса, что существует поле.

В случае поля Checkbox (проверить PHP ternary operator):

// If checked, the string is 'active', otherwise empty 
$image = (get_field('image_field')) ? 'active' : ''; 
$video = (get_field('video_field')) ? 'active' : ''; 

<li class="image <?php echo $image; ?>" title="Alt text"></li> 
<li class="video <?php echo $video; ?>" title="Alt text"></li> 

Но, еще лучше является Select field позволяет множественный выбор (проверка PHP in_array):
acf select multiple

$get_field = get_field('field_name'); 
$image = in_array('image', $get_field) ? 'active' : ''; 
$video = in_array('video', $get_field) ? 'active' : ''; 

<li class="image <?php echo $image; ?>" title="Alt text"></li> 
<li class="video <?php echo $video; ?>" title="Alt text"></li> 
+0

Привет, брасофило, ваш пример работает отлично! Спасибо за это. Он работает в поле «Выбрать» и в поле флажка! Это замечательно и прекрасно работает! :) – Pullapooh