【问题标题】:Save data to custom field from youtube api从 youtube api 将数据保存到自定义字段
【发布时间】:2012-11-08 17:10:34
【问题描述】:

我为我的一位客户制作了一个 wordpress 视频部分。在后端,它是一种自定义帖子类型,用户可以在其中放置视频的 ID (http://www.youtube.com/watch?v=kFHshctPO9E)。

使用这个 ID 我嵌入了视频并从 youtube api 获取每个视频的 持续时间评分

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

我想以某种方式将这些值缓存或保存到自定义字段或其他地方。

有人知道吗?

提前致谢!

瑞克

【问题讨论】:

    标签: wordpress api youtube custom-post-type custom-fields


    【解决方案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 信息并正确显示此信息。

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多