Невидимые пробелы в результате выполнения функции PHP - PullRequest
0 голосов
/ 11 сентября 2011

Я работаю над созданием одной из моих первых тем для WordPress, но, похоже, у меня возникла странная проблема.Всякий раз, когда я вызываю одну из моих функций с помощью PHP, в возврате (при просмотре страницы) появляется много пустого пространства (невидимые символы).Для некоторых вещей, которые я пытаюсь сделать, это вызывает проблемы.Вот пример одной из моих функций, остальные построены так же, как это.

 // Get YouTube Username
 function soc_youtube() {
 global $up_options;
 ?>

 <?php if($up_options->soc_youtube){ ?>
  <?php echo $up_options->soc_youtube; ?>
  <?php
  }
 }

Этот код сгенерировал такой результат:

Look at all of the white space

Обновление: исправлено

Решение: используйте меньше тегов и сокращайте разрывы в коде

Ответы [ 2 ]

2 голосов
/ 11 сентября 2011

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

// Get YouTube Username
function soc_youtube() {
    global $up_options;
    if($up_options->soc_youtube){ 
        echo $up_options->soc_youtube;
    }
}

Далее, если это не сработает, попробуйте выполнить var_dump($up_options->soc_youtube);, посмотрите, что там, и выясните, почему.

2 голосов
/ 11 сентября 2011

Все за пределами теги php проталкиваются непосредственно к выходу, включая все разрывы строк.Чтобы избежать этого, оставьте разрывы строк внутри кода PHP:

 <?php if($up_options->soc_youtube){
 ?><?php
   echo $up_options->soc_youtube;
 ?><?php   //...

(В вашем примере, однако, я не вижу необходимости вообще закрывать какие-либо теги. Вы можете просто иметь всевнутри одного набора тегов.)

...