2014-02-12 2 views
1

Я надеялся, что кто-то сможет мне помочь. У меня возникают проблемы с операторами if с плагином Advanced Custom Fields для Wordpress. У меня есть три варианта, которые пользователь может выбрать, все три могут быть выбраны, но они также могут выбрать один, если они пожелают.Расширенные пользовательские поля в Wordpress - проблемы с «если»

Проблема, с которой я столкнулся, - это код, который я написал, отображающий все теги HTML, даже пустые. Это вызывает проблемы с дизайном. Я хочу иметь возможность просто показывать HTML, который был заполнен. Я пробовал решения на форумах ACF, но безрезультатно.

Ссылка: http://www.advancedcustomfields.com/resources/getting-started/code-examples/

Вот быстрый (новичок!) Код, который я получил в минуте:

<a href="<?php the_sub_field('link'); ?>"><?php the_sub_field('link'); ?></a> 
<a href="<?php the_sub_field('doc'); ?>"><?php the_sub_field('doc'); ?></a> 
<p><?php the_sub_field('cap'); ?></p> 

я смотрел на форуме ACF и попытался это, но он сломал тему:

<?php if(the_sub_field('link')) { 
    echo '<a href="' . the_sub_field('link') . '">' . the_sub_field('link') . '</a>'; 
} ?> 

<?php if(the_sub_field('doc')) { 
    echo '<a href="' . the_sub_field('doc') . '">' . the_sub_field('doc') . '</a>'; 
} ?> 

<?php if(the_sub_field('cap')) { 
    echo '<p>' . the_sub_field('cap') . '</p>'; 
} ?> 

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

Спасибо!

ответ

0

Попытка использовать get_sub_field();

<?php if(get_sub_field('link')) { 
    echo '<a href="' . the_sub_field('link') . '">' . the_sub_field('link') . '</a>'; 
} ?> 

<?php if(get_sub_field('doc')) { 
    echo '<a href="' . the_sub_field('doc') . '">' . the_sub_field('doc') . '</a>'; 
} ?> 

<?php if(get_sub_field('cap')) { 
    echo '<p>' . the_sub_field('cap') . '</p>'; 
} ?> 

Когда цикл через одну из этих полей, то эта функция возвращает суб поле из текущей строки.

+0

Я дам вам попробовать ... спасибо! –

1

Как Dk-макадамия сказала, попробуйте использовать get_sub_field() в петлях вместо the_sub_field() разница get_sub_field() возвращает значение в виде строки, и the_sub_field() печати данных,

Также get_sub_field() работают только под ретранслятором/жидкостей тип поля в противном случае не работает, , если его не подполе полей повторителя/жидкости просто попробуйте get_field()

Смежные вопросы