2012-11-20 38 views
0

我为我的一个客户做了一个wordpress视频部分。在后端,这是一种自定义帖子类型,用户可以在其中放置视频的ID(http://www.youtube.com/watch?v=kFHshctPO9E)。将数据保存到YouTube上的自定义字段api

有了这个ID我嵌入视频,并从YouTube API将每个视频的时间评级

现在每次加载视频时(在概览模板中加载所有视频),它必须联系YouTube以获取持续时间(然后我解析为几小时和几分钟而不是秒)和所有评级视频的。

我会以某种方式将这些值缓存或保存到自定义字段或稍微。

任何人有任何想法?

提前致谢!

里克

回答

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); 
    } 
    } 
} 

,当然还有,当你queryng您的自定义后类型必须retrive的post_meta信息,并正确显示这些信息。

相关问题