2011-12-02 10 views
1

私は自分の子テーマfunctions.phpに入れた子供用ショートショートコードを書いています。コードは次のとおりです。WordPress:functions.phpのWP_Queryが空のクエリを返す(カスタムショートコードの場合)

function get_featured_video(){ 
$video_query = new WP_Query('category_name=videos&order=ASC'); 
$videoPath = "/"; 
$videoText = ""; 
while ($video_query->have_posts()){ 
    $video_query->the_post(); 
    $featured = get_post_meta($post->ID, "vid_feature", $single = true); 
    if(strtolower($featured)=='yes'){ 
     $videoPath = get_permalink($post->ID); 
     $content = strip_tags($post->post_content); 
     $contentArr = str_word_count($content,1); 
     if(count($contentArr>50)){ 
      $videoText = join(" ",array_slice($contentArr,0,50)); 
      $videoText .= " <a href='$link'>&lt;read more&gt;</a>"; 
     } else { 
      $videoText = $content; 
     } 
     break; 
    } 
} 
$returnStr = "<h1><a href='$videoPath'>You've Got to See This!</a></h1>\n"; 
$returnStr .= $videoText; 
return $returnStr; 
} 

add_shortcode('getfeaturedvideo','get_featured_video'); 

問題は、空のクエリが返されていることです。私はビデオカテゴリに投稿があることを知っています。私はfunctions.phpの中でWP_Queryを使ったことはありません。私が使用する必要がある別の方法がありますか?機能の上部に

答えて

5

宣言してみてください:

global $post; 
+1

うん。少し前にこのことを認識し、投稿するのを忘れました。しかし、お返事ありがとうございます。 – LoneWolfPR

+0

問題はありません:)自分自身で解決するのが常により良いと感じています。 – CookiesForDevo

+0

回答ありがとうございました。 – deflime

関連する問題