1

子テーマfunctions.phpにドロップした子テーマのカスタムショートコードを作成しています。コードは次のとおりです。

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を使用したことがありません。使用する必要のある別の方法はありますか?

4

1 に答える 1

5

関数の先頭で次のように宣言してみてください。

global $post;
于 2011-12-03T14:18:10.273 に答える