Intereting Posts
Получите ссылки на видео с Youtube Channel, извлеките идентификаторы видео из Urls и сохраните их в массиве Отображение результатов поиска автозаполнения Laravel Таинственный номер появляется выше HTML-кода, созданного Drupal, при первом посещении страницы Intervention imagick работает в терминале, но не в браузере Самый быстрый способ чтения первой строки из файла неправильный порядок php mysql по метке времени Добавление дней к дате с помощью PHP Автозаполнение Eclipse не работает для PHP-проекта добавить дополнительную мета для заказов в woocommerce Как поймать сигнал KILL или HUP или пользовательский прерывание? при загрузке имен файлов с неанглийских языков не отображаются в загруженном файле правильно Идентификация идентификатора Youtube для новых форматов URL Создайте таблицу с пробелом в имени в mySQL Ошибка SMTP с помощью PHPMailer Одновременно подключайтесь к большому количеству баз данных в Laravel 5.2

Многострочная строка PHP с PHP

Мне нужно повторить много PHP и HTML.

Я уже пробовал очевидное, но он не работает:

<?php echo ' <?php if ( has_post_thumbnail() ) { ?> <div class="gridly-image"><a href="<?php the_permalink() ?>"><?php the_post_thumbnail('summary-image', array('class' => 'overlay', 'title'=> the_title('Read Article ',' now',false) ));?></a> </div> <?php } ?> <div class="date"> <span class="day"> <?php the_time('d') ?></span> <div class="holder"> <span class="month"> <?php the_time('M') ?></span> <span class="year"> <?php the_time('Y') ?></span> </div> </div> <?php } ?>'; ?> 

Как мне это сделать?

Вам не нужно выводить теги php :

 <?php if ( has_post_thumbnail() ) { echo '<div class="gridly-image"><a href="'. the_permalink() .'">'. the_post_thumbnail('summary-image', array('class' => 'overlay', 'title'=> the_title('Read Article ',' now',false) )) .'</a></div>'; } echo '<div class="date"> <span class="day">'. the_time('d') .'</span> <div class="holder"> <span class="month">'. the_time('M') .'</span> <span class="year">'. the_time('Y') .'</span> </div> </div>'; ?> 

Вы не можете запускать PHP-код внутри такой строки. Это просто не работает. Кроме того, когда вы «выходите» из PHP-кода ( ?> ), Любой текст вне блоков PHP считается в любом случае, поэтому нет необходимости в выражении echo .

Если вам нужно сделать многострочный вывод с помощью фрагмента кода PHP, подумайте об использовании HEREDOC :

 <?php $var = 'Howdy'; echo <<<EOL This is output And this is a new line blah blah blah and this following $var will actually say Howdy as well and now the output ends EOL; 

Используйте Heredocs для вывода строк строки с переменными. Синтаксис …

 $string = <<<HEREDOC string stuff here HEREDOC; 

Часть «HEREDOC» похожа на цитаты и может быть всем, что вы хотите. Конечный тег должен быть единственным в его строке, т. Е. Без пробелов до или после, и должен заканчиваться двоеточием. Для получения дополнительной информации ознакомьтесь с руководством .

Для этого вы должны удалить все ' charachters» в своей строке или использовать escape-символ. Подобно:

 <?php echo '<?php echo \'hello world\'; ?>'; ?> 

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

 $thisstring = 'this string is long \' in needs escaped single quotes or nothing will run'; 

Используйте show_source(); функции PHP. Проверьте более подробную информацию в show_source . Это лучший метод, я думаю.

Другой вариант – использовать if с двоеточием и endif вместо скобок:

 <?php if ( has_post_thumbnail() ): ?> <div class="gridly-image"> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail('summary-image', array('class' => 'overlay', 'title'=> the_title('Read Article ',' now',false) )); ?> </a> </div> <?php endif; ?> <div class="date"> <span class="day"><?php the_time('d'); ?></span> <div class="holder"> <span class="month"><?php the_time('M'); ?></span> <span class="year"><?php the_time('Y'); ?></span> </div> </div>