0

クライアントの1人のためにワードプレスのビデオセクションを作成しました。バックエンドでは、ユーザーが動画のID(http://www.youtube.com/watch?v= kFHshctPO9E)を配置できるカスタム投稿タイプです。

このIDを使用して、ビデオを埋め込み、YouTubeAPIから各ビデオの長さ評価を取得します。

これで、ビデオがロードされるたびに(概要テンプレートですべてのビデオがロードされます)、YouTubeに連絡して、すべてのビデオの継続時間(秒ではなく時間と分に解析します)と評価を取得する必要があります。

どういうわけか、これらの値をカスタムフィールドなどにキャッシュまたは保存したいと思います。

誰かアイデアがありますか?

少し早いですがお礼を!

リック

4

1 に答える 1

1

post_meta投稿を初めて保存するときにこの情報を保存し、YouTube API を再度使用する代わりにデータベースから情報をロードするために使用できます。

疑似コードで例を示します。

add_action('save_post', 'my_function_to_save_posts_action');
function my_function_to_save_posts_action($post_id) {
  $the_post = get_post($post_id);
  if ($the_post->type == 'my_custom_post_type') {
    $youtube_data = my_function_to_retrieve_youtube_data();
    if (my_function_exists_post_meta($post_id)) {
      update_post_meta($post_id, 'my_video_duration', $youtube_data['duration']);
      update_post_meta($post_id, 'my_video_rating', $youtube_data['rating']);
    }
    else {
      add_post_meta($post_id, 'my_video_duration', $youtube_data['duration'], true);
      add_post_meta($post_id, 'my_video_rating', $youtube_data['rating'], true);
    }
  }
}

もちろん、カスタム投稿タイプをクエリするときは、post_meta 情報を取得して、この情報を適切に表示する必要があります。

于 2012-11-20T16:23:17.690 に答える