PHP эхо легкая проблема;) - PullRequest
       28

PHP эхо легкая проблема;)

1 голос
/ 21 февраля 2011

Хорошо, это связано с Wordpress, и я знаю о Wordpress Stack Exchange, но я спрашиваю здесь, потому что это в основном вопрос PHP.

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

Проблема в том, что у меня будет переменная и встроенная функция bloginfo ('template_directory').

Я написал это:

    <?php if (!empty($instance['example'])) 

    echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?><?php echo "/images/example.png /></a></li>"; ?>   

Работает нормально до тех пор, пока $ instance ['example'] не станет пустым, а когда есть - по-прежнему будет отображаться ссылка на каталог шаблона, включая images / example.png.

Есть идеи?

Я пробовал ". Bloginfo ('template_directory').", Но, похоже, не работает.

Ответы [ 6 ]

2 голосов
/ 21 февраля 2011

PHP, если операторы без скобок {} будут вычислять только первую строку после этого.Чтобы решить эту проблему,

 <?php if (!empty($instance['example']))  {

echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?><?php echo "/images/example.png /></a></li>"; } ?> 

Попробуйте и посмотрите, работает ли она для ваших нужд.Все, что я сделал, это вставил фигурные скобки, чтобы ваш оператор if охватывал все ваши аргументы.

1 голос
/ 21 февраля 2011

Вы забыли добавить : после оператора if для создания блока if endif;. В качестве альтернативы используйте стандартные фигурные скобки, чтобы заключить все ваши команды в оператор if.

В настоящее время проверяется только if для первая echo команда.

0 голосов
/ 22 февраля 2011

Я бы лично использовал.

<?php 
if( !empty( $instance['example'] ) )
    echo '<li><a href="' . $example . '"><img src="' . get_bloginfo('stylesheet_directory') . '/images/example.png" alt="" border="0" /></a></li>'; 
?>

Сначала мы добавим эти недостающие кавычки атрибутов.
Во-вторых, мы используем путь к таблице стилей, чтобы убедиться, что он указывает на правильное расположение дочерней темы.
В-третьих, мы вызываем get_bloginfo, чтобы получить возвращаемое значение для оператора echo.
В-четвертых, я также добавил border="0" к изображению, для изображения внутри ссылки обычно не нужны границы, а также добавлен altтэг, потому что он по крайней мере поможет пройти проверку HTML, даже если вы оставите его пустым.

0 голосов
/ 21 февраля 2011

Тот же ответ, что и у других, но с лучше отформатированным кодом:

<?php 
if(!empty($instance['example']))
{
    echo '<li><a href=' . $example . '><img src=' . bloginfo('template_directory') . '/images/example.png /></a></li>'; 
}
?> 

Добавлены скобки, удалены ненужные открывающие / закрывающие теги php и преобразованы строки в одинарные кавычки, поскольку в них нет переменных или специальных символов, требующих обработки.

0 голосов
/ 21 февраля 2011

Попробуйте это

<?php if (!empty($instance['example'])) {

    echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?>
    <?php echo "/images/example.png /></a></li>"; 

   }
?>
0 голосов
/ 21 февраля 2011

Попробуйте этот код:

<?php if (!empty($instance['example'])) 

    echo "<li><a href=". $example ."><img src=".get_bloginfo('template_directory')."/images/example.png /></a></li>";
?>   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...