Я пытаюсь эхо изображения из моей папки «_images», но если я напишу следующий код, это будет только для моего сайта:
echo '<img src="http://mywebsite.com/mytheme/wp-content/themes/my theme/_images/project3image1.jpg">';
Я изменил его на это, поэтому, когда кто-то использует мою тему, он берет их в свой собственный каталог веб-сайта:
echo '<img src="<?php bloginfo('stylesheet_directory'); ?>/_images/project3image1.jpg">';
Но, должно быть, что-то не так с этим кодом, когда я помещаю это и просматриваю свой сайт, он дает мне эту ошибку:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/content/32/9825632/html/bomb/wp-content/themes/bomb/header.php on line 101
Я php noob, так что это, наверное, очевидная ошибка!
Вы уже находитесь в php / echoing things, поэтому вам не нужно использовать теги php:
echo '<img src="' . bloginfo('stylesheet_directory') . '/_images/project3image1.jpg">';
Не смешивайте разметку с кодом. Вы просите о проблемах, и все это потеряет читаемость. Используйте printf
следующим образом:
printf( '<img src="%s/_images/project3image1.jpg">', bloginfo('stylesheet_directory'));
Но вашей реальной проблемой были вложенные кавычки. Если вы используете '
чтобы разграничить границы строк, например:
'foo'
то если строковое содержимое содержит '
тоже»:
'foo'bar'
его нужно избегать следующим образом:
'foo\'bar'
в противном случае ваш кавычек контента будет считаться закрывающей цитатой для строки. Или вы можете использовать "
вместо этого:
"foo'bar"
но опять же – если содержимое вашей строки содержит "
то оно должно быть экранировано:
"foo\"bar"
если строка содержит как "
и '
тогда вам нужно избегать только того, который является разделителем строк, то есть:
'foo"bar\'foo'
или
"foo'bar\"foo"
Чтобы использовать второй стиль кода, вы должны сначала закрыть теги php:
//...your php code before echoing the img //here you close the tag ?> <img src="<?=bloginfo('stylesheet_directory')?>/_images/project3image1.jpg" /> <?php //here you open it again //your rest php code...
В любом месте вашего php-кода, если вы хотите откликнуться на какой-то html, просто закройте теги php, снова напишите html и откройте теги php. Но лучше не смешивать html и php. Попробуйте написать весь ваш php-код в начале ваших файлов и после всего этого html. В вашем php-коде введите переменные с динамическими значениями и введите PHP-код внутри html, чтобы выводить их внутри любого содержимого атрибута или тега.