Вот что у меня есть в sidebar.php:
<aside id="sidebar">
<?php if ( is_user_logged_in() ) {
echo '<a href="/community"><img id="visit-the-forums" src="'. bloginfo('template_url') . '/images/visit-the-forums.png" alt="Check out the Forums!" /></a>'
} else {
echo '<a href="/community"><img id="join-the-forums" src="'. bloginfo('template_url') . '/images/join-the-forums.png" alt="Join the Forums!" /></a>'
}
?>
<a id="side-ad">
<img src="<?php bloginfo('template_url') ?>/images/ipad-ad.png" alt="iPad 2 Giveaway!" />
</a>
</aside>
По какой-то причине он не отображается (даже в разметке) ни на одной из страниц. Я дважды проверил все остальные шаблоны, чтобы убедиться, что они <?php get_sidebar(); ?>
включены. Что-то не так с кодом выше?
Изменить: я должен отметить, что приведенное ниже работает, то есть без оператора if/else.
<aside id="sidebar">
<a href="/community"><img id="join-the-forums" src="<?php bloginfo('template_url') ?>/images/join-the-forums.png" alt="Join the Forums!" /></a>
<a id="side-ad">
<img src="<?php bloginfo('template_url') ?>/images/ipad-ad.png" alt="iPad 2 Giveaway!" />
</a>
</aside>
Разметка после
<?php get_sidebar(); ?>
появляется?Я предполагаю, что это тихая ошибка PHP, так как ваши строки в блоке if/else не заканчиваются точкой с запятой. 🙂
Точки с запятой должны присутствовать в конце каждого эха внутри if/else.
Чтобы помочь вам найти некоторые ошибки, рекомендуется активировать переменную отладки WordPress, чтобы вы получали некоторые уведомления о своем коде.
Вы можете сделать это, заменив false на true в переменной WP_DEBUG. Найдите в своей корневой папке wordpress файл
wp-config.php
, создайте его резервную копию после открытия/редактирования и найдите строку, содержащуюизменить на истину, например:
Теперь при открытии вы можете проверить свой код, если есть какая-то ошибка или уведомление, вы попадете в верхнюю часть страницы. Даже в Дасборде.