2015-06-15 1 views
1

Использование дополнительных настраиваемых полей для плагина на моем сайте wordpress. У меня есть опция выбора в одном из пользовательских типов сообщений, который определяет, будет ли пост быть ссылкой на другую страницу или вызывать всплывающее окно.Если переменная равна чему-то, сделайте атрибут href

Вот как это выглядит.

<!-- here goes a code defining post type. Works fine --> 
<?php $hmltype = get_field('post_url_or_popup'); ?> 
<div class="tablecell midlineunit middle"> 
     <a class="table midunithref mw1" <?php if ($hmltype == hml_url) { echo 'href="<?php the_field('hplb_url'); ?>" ' } endif; ?> > 
</a> 
</div> 

Должно быть синтаксическая ошибка, но я только начинаю с php, поэтому, как бы трудно найти ошибку.

+0

is'hml_url' строка? Переменная? –

+0

Я предполагаю, что это строка. Его значение определяется настраиваемым полем. Выбор имеет 2 значения: «hml_url» и «hml_popup». Я пробовал использовать его в кавычках, но не повезло. Я просто получаю пустую страницу вместо ранее работающей. –

+1

'hml_url', который в настоящее время рассматривается как константа. Если вы «угадываете», это строка, то это недостаточно. Нам нужно точно знать. Кроме того, 'endif;' используется только при использовании другого условного синтаксиса. –

ответ

1

Что такое hml_url? Это переменная называется $hml_url ..? Вернемся к вашим проблемам, вы используете endif; здесь совершенно неправильно. Вы можете только назвать это, если вы его создаете так:

if(condition) : 
    do stuff; 
endif; 

Теперь исправить печать.

<a class="table midunithref mw1" <?php echo ($hmltype == hml_url) ? 'href="'. the_field('hplb_url'); .'"' : ''; ?> > 

Вы должны выяснить/сказать нам, что hml_url для нас, чтобы решить вашу проблему. Вы также заметили бы ошибку, если бы включили отчет об ошибках. Вы можете сделать это, добавив это в начало вашего скрипта:

ini_set('display_errors', 1); 
error_reporting(-1); // or you could do E_ALL 
+1

[Это может быть утка ...] (http://stackoverflow.com/questions/30835827/if-variable-equals-something-make-a-have-a-href-attribute#comment49716374_30835827) но они говорят, что это строка. –

+0

@ Fred-ii- Что такое имя уток?: D – Darren

+0

Пользовательский тип сообщения имеет поле выбора с именем «post_url_or_popup» с 2 значениями: «hml_url» и «hml_popup». И мне нужно определенное действие (добавление href в этом случае) в зависимости от того, какой из них выбран. –

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