Мне нужна помощь, чтобы динамически добавить функцию загрузки к тегу body - PullRequest
0 голосов
/ 09 апреля 2011

У меня возникли проблемы с наличием операторов if на моем теле тега. Оператор if, который у меня сейчас есть, это wordpress function:

<?php echo is_single() ? "<body class='single'>" : "<body>" ; ?>

Это отлично работает. Проблема на 1 странице, мне нужно иметь "". Итак, что я сделал, так это обернул это в другое выражение if:

<?php if(is_page('map')) : ?> 
<?php echo "<body onload="initialize()">" ; ?>
<?php else : ?>
<?php echo is_single() ? "<body class='single'>" : "<body>" ; ?>
<?php endif; ?>

Видимо, мой синтаксис неправильный во 2-й строке, но я не понимаю, почему?

Кто-нибудь может увидеть, где я ошибся? Или есть более простой способ добиться этого в WordPress?

Спасибо заранее, Декан

Ответы [ 3 ]

0 голосов
/ 09 апреля 2011

Попробуйте использовать

<?php echo "<body onload=" . initialize() . ">" ; ?>

Обратите внимание на точки, используемые для объединения.

Редактировать: Это предполагает, что инициализация - это ваша функция php.Если нет, используйте одинарные кавычки, как это:

<?php echo '<body onload="initialize()">' ; ?>
0 голосов
/ 09 апреля 2011

Вы должны отбросить двойные кавычки в строке во второй строке:

<?php echo "<body onload=\"initialize()\">" ; ?>

или еще лучше:

<?php echo '<body onload="initialize()">' ; ?>
0 голосов
/ 09 апреля 2011

В строках нельзя использовать двойные кавычки в качестве разделителя, а внутри строки их необходимо экранировать.

<?php 
if(is_page('map')):
   echo '<body onload="initialize()">';
else:
   echo is_single() ? "<body class='single'>" : "<body>";
endif;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...