2014-03-26 98 views
0

在第一行,$embedded_video_url不輸出任何東西。它只是說<a class="colorbox-video cboxElement" href="">Pop Up</a>。是否因爲代碼後面定義了變量$embedded_video_url?我必須在第一行中的h3元素之前定義變量嗎?PHP在href不工作

<h3 class="widget-title">Latest Video <span class="pop-up-link"><a class="colorbox-video cboxElement" href="<?php echo $embedded_video_url ?>">Pop Up</a></span></h3> 
<?php 
    $args = array( 
     'numberposts' => '1', 
     'tax_query' => array(
      array(
       'taxonomy' => 'post_format', 
       'field' => 'slug', 
       'terms' => 'post-format-video' 
      ) 
     ), 
     'meta_query' => array(
      array(
       'key' => 'dt_video', 
       'value' => '', 
       'compare' => '!=' 
      ) 
     ) 
    ); 
    $latest_video = wp_get_recent_posts($args); // Get latest video in 'video' post format 
    $latest_video_id = $latest_video['0']['ID']; // Get latest video ID 
    $video_url = "http://www.youtube.com/watch?v=l4X2hQC32NA&feature=g-all-u&context=G258729eFAAAAAAAAHAA?rel=0"; 
    $search = '#(?:href="https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch?.*?v=))([\w\-]{10,12}).*$#x'; 
    $replace = "www.youtube.com/embed/$1"; 
    preg_match_all($search, $video_url, $matches); 
    $embedded_video_url = preg_replace($search, $replace, $video_url) ; 
    echo '<iframe width="180" height="101" src="'.$embedded_video_url.'" frameborder="0" allowfullscreen></iframe>'; 
?> 
+2

你有沒有嘗試在輸出之前放置PHP代碼,看看是否改變了什麼?爲了測試你的假設,它的字面意思是幾秒鐘的剪切/粘貼。 – cHao

+0

@cHao我只是不確定我的PHP是否錯誤,因爲我仍然在學習基礎知識。但事實證明,我的假設是正確的。 – J82

回答

3

是的。你應該在使用它們之前定義/初始化你的變量。如果你不這樣做,他們將是空的。如果您將第一行移到底部,它應該解決您的問題。

+0

謝謝。當限制結束時,我會檢查你的答案。 – J82