インターン五日目 課題二

今回は、課題二に取り組みました。自動投稿されるもののエラーが起きる。IDが一つしか取得できておらず、取得、表示される動画が常に同じ。という二つの問題点があります。 ↓動画情報取得↓

<?php
/*
Plugin Name: autoposts
Plugin URI: http://test.test/
Description: post を自動投稿する
Author: test
Version: 1.0
Author URI: http://test.test/
*/
$word = "コーヒー";
$yt_apiKey = "{APIkey}";
$apiAdress =  "https://www.googleapis.com/youtube/v3/search?part=snippet&q=";
$maxItem = 10;
$type = "video";
$next = "CAUQAA";
$adress = $apiAdress . $word . "&key=". $yt_apiKey . "&maxResults=" . $maxItem;
function cuGet_contents( $url, $timeout = 15 ){
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    curl_setopt( $ch, CURLOPT_HEADER, false );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_TIMEOUT, $timeout );
    $result = curl_exec( $ch );
    curl_close( $ch );

    return $result;
}
$json = cuGet_contents($adress);
$getData = json_decode( $json , true);
if ($getData['pageinfo']['totalResults' === 0]){
    echo "video was not found in Youtube";
} else {
    foreach($getData['items'] as $yte){
        $title           =$yte['snippet']['title'];
        $videoId     =$yte['id']['videoId'];
        $thumbnail = $yte['snippet']['thumbnails']['medium']['url'];
        $videoHref = "http://www.youtube.com/watch?v=" . $videoId;

        $dat_s[] = [
        "ID" => $videoId,
        "nail" => $vthumbnail,
        "ID" => $videoHref,
        "ID" => $title
        ];      
    }
}

↓記事自動投稿↓


// 投稿オブジェクトを作成 $my_post = array( 'post_title' => 'My post', 'post_content' => 'This is my post.' . '<iframe width="600" height="338" src="https://www.youtube.com/embed/' . $videoId. '" frameborder="0" allowfullscreen></iframe>', 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array(8,39) ); // 投稿をデータベースへ追加 wp_insert_post( $my_post );

このプラグインで自動投稿、youtube自動取得埋め込みが可能。 ただ、この記述だと、動画IDが一つしか取れず、常に同じ動画が取得され、表示されてしまう。また、自動投稿できるものの、すぐにエラーとなる。