2011-09-10 28 views
0

我正在製作我的第一個WordPress主題之一,但我似乎遇到了一個奇怪的問題。每當我使用PHP調用其中一個函數時,返回(查看頁面時)有很多空白字符(不可見字符)。對於我想要做的一些事情,這會導致問題。這是我的一個功能的例子,其餘的就像它一樣。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

更新:修正

解決方案:使用較少的標記和代碼削減休息

+0

提醒我,爲什麼你一直在進入和退出解析器?我看不到任何標記! – Shef

+0

我認爲這是鉻專用;如果你指的是''testyoutube'',但我也想知道爲什麼 – Ross

回答

2

一切php標籤被直接推送到輸出,包括所有換行符。爲了避免這種情況,離開PHP代碼中的換行符:

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

(在你的榜樣,我不認爲有必要關閉任何在所有的標籤,雖然你可能只是一個內部的一切)

+0

謝謝!您的建議起作用了(儘量減少使用單獨標籤) – Matt

2

首先,沒有必要結束一個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);,看看那裏的東西,並找出原因。

+0

謝謝!我減少了標籤的數量,它工作 – Matt

+0

@Matt,如果答案有效,通常你會接受它。無論是我的還是Kerrek的都應該工作。 – Mike