2014-03-26 2 views
0

첫 번째 줄에서 $embedded_video_url은 아무 것도 출력하지 않습니다. 그냥 <a class="colorbox-video cboxElement" href="">Pop Up</a>라고합니다. 변수 $embedded_video_url이 코드의 뒷부분에 정의 되었기 때문입니까? 첫 번째 줄에 h3 요소 앞에 변수를 정의해야합니까?href의 PHP가 작동하지 않습니다.

<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

관련 문제