-2

Я хочу использовать этот код в моем шаблоне header.php в word press для использования полей плагина ACF. Но это не сработает. такие как атрибуты href не работают.Как использовать строки vars в функции эха

Это мой код:

echo '<div align="center">'; 
//Rule Adress 
if (the_field("rule") != 'http://' || the_field("rule") != '') { 
    echo '<a href="' . the_field('rule') . '" role="button" class="Button Button--error" title="Rules" rel="nofollow" target="_blank"><i class="fa fa-fw fa-check"></i>Rules</a>'; 
} 
//Cost 
if (the_field("cost") != '0' || the_field("rule") != '') { 
    echo '<a role="button" class="Button Button--info" style="cursor: default;"><i class="fa fa-fw fa-shopping-cart"></i>Cost: ' . the_field('cost') . ' Dolor</a>'; 
} 
//Demo 
if (the_field("demo") != 'http://' || the_field("demo") != '') { 
    echo '<a href="' . the_field('demo') . '" role="button" class="Button Button--primary" title="Demo" rel="nofollow" target="_blank"><i class="fa fa-fw fa-heart"></i>Demo</a>'; 
} else { 
    echo '<a role="button" class="Button Button--primary" title="Demo" style="cursor: default;"><i class="fa fa-fw fa-heart"></i>Demo</a>'; 
} 
//Shots 
if (the_field("shots") != 'http://' || the_field("shots") != '') { 
    echo '<a href="' . the_field('shots') . '" role="button" class="Button Button--warning" title="Shots" rel="nofollow" target="_blank"><i class="fa fa-fw fa-desktop"></i>Shots</a>'; 
} else { 
    echo '<a role="button" class="Button Button--warning" title="Shots" style="cursor: default;"><i class="fa fa-fw fa-desktop"></i>Shots</a>'; 
} 
echo '</div">'; 

Поля is-product, rule, cost, demo и shot мои поля, которые определены ИТС WP-администратора.

Пожалуйста, помогите мне решить эту проблему.

ответ

0

Вместо the_field('field') в ваших операциях if используется get_field('field'), чтобы вернуть его как значение, а не объект.

Например:

<?php if (get_field("rule") != 'http://' || get_field("rule") != '') { ?> 
    <a href="<?php the_field('rule'); ?>" role="button" class="Button Button--error" title="Rules" rel="nofollow" target="_blank"><i class="fa fa-fw fa-check"></i>Rules</a> 
<?php } ?> 

Вы также могли бы сократить это выражение следующим образом:

<?php 
    $rule = get_field("rule") 
    if($rule || $rule != 'http://') { ?> 
     <a href="<?php echo $rule; ?>" role="button" class="Button Button--error" title="Rules" rel="nofollow" target="_blank"><i class="fa fa-fw fa-check"></i>Rules</a> 
<?php } ?> 
+0

Благодаря @asherstoppard. Я не могу использовать the_field() с операторами if? этот код работает без ошибок? –

+0

Нет проблем, все ли сработало для вас после поправок? – asherstoppard

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