2014-03-27 173 views
0

您好,我在wordpress上創建了一個站點,其中一些特色圖片必須是YouTube視頻的縮略圖,因爲我使用的是模塊視頻縮略圖,但是我似乎無法使其正常工作。使用下面的代碼在php中轉義雙引號echo

<?php 
    if(($video_thumbnail = get_video_thumbnail()) != null) { 
     echo "<a href=\"<?php echo get_permalink($id); ?>\"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?> 

我得到的YouTube視頻的圖像,如果有一個但是鏈接後壞了它這樣表示<a href="<?php echo get_permalink(15544); ?>"><img src="http://www.test.com/wp-content/uploads/2014/03/15544.jpg"></a> \「>」; }?> insdead的實際職位的鏈接是這樣的http://www.test.com/?p=15544我意識到問題可能是在逃避,但我試着多個逃逸metods像「或使用'的回聲和」爲實際的字符串hoever我可以似乎得到它的工作我知道我的PHP糟透了,所以我可能不會逃避它的權利,我會任何意見gratefull。

+2

您在代碼中有正確的答案 –

+0

問題是,當您已經在PHP上下文中時,您正在使用'<?php'標記。試試這個:http://pastie.org/8973134 –

+0

@Ivan Veselinov Nedelchev你不需要內部'echo'。看到我的回答 –

回答

2

使用此;

<?php 
    if(($video_thumbnail = get_video_thumbnail()) != null) { 
     echo "<a href=\"" . get_permalink($id) . "\"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?> 
+0

是的這個代碼,這工作完美:)我真的應該學習PHP –

0

它應該像下面

<?php 
    if(($video_thumbnail = get_video_thumbnail()) != null) { 
     echo "<a href=\"".get_permalink($id)."\"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?> 
0

嘗試使用:

<?php 
    if(($video_thumbnail = get_video_thumbnail()) != null) { 
     echo '<a href="'. echo get_permalink($id); .'"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?> 
+1

第二個回聲仍然是錯的 –

+0

正確,我輸入的方式太快... – Enn

1

你可以讓你的代碼更具可讀性和可管理性與例如printf()

if(($video_thumbnail = get_video_thumbnail()) != null) 
{ 
    printf('<a href="%s"><img src="%s"/></a>', 
      get_permalink($id), 
      $video_thumbnail 
    ); 
} 

它是一個很好的規則轉義的輸入值。

檢查Codex中有用的esc_* WordPress功能。

+0

我明白了,但你的代碼看起來有點複雜^^我將不得不學習PHP多一點,使美麗的代碼:)謝謝你的提示。 –

+0

是的,起初可能很奇怪,但是你很快就會開始喜歡它;-)它被用於默認的WordPress主題。 – birgire