Wordpress:通过自定义上传插件在评论中输出Youtube视频

时间:2013-08-02 15:36:41

标签: video comments youtube-api wordpress

我正在为客户开发一个插件,允许用户上传视频以轻松上传视频和显示视频以供评论。通过Youtube API,用户将在帖子的评论部分填写视频信息并在我的客户网站上传视频。该插件将同时将视频上传到社区Youtube帐户,并在评论中显示该视频。

Youtube视频作为评论评论元中的网址存储在WordPress网站中。

我成功创建了用于上传Youtube和存储结果URL的系统。

我的问题在于尝试显示视频。我发现WordPress不想这样做。我尝试了四种不同的技术来实现我的结果而没有工作。

尝试1:已处理的短代码

add_filter( 'comment_text', 'modify_comment');
function modify_comment( $text ){

  if( $youtube = get_comment_meta( get_comment_ID(), 'youtube', true ) ) {
    $youtube = '[video src="http://www.youtube.com/watch?v='.$youtube.'" ]';
    $text = do_shortcode($youtube) . '<p>' . $text . '</p>';
  }
  return $text;
}

输出:可点击的网址

尝试2:普通短码

add_filter( 'comment_text', 'modify_comment');
function modify_comment( $text ){

  if( $youtube = get_comment_meta( get_comment_ID(), 'youtube', true ) ) {
    $youtube = '[video src="http://www.youtube.com/watch?v='.$youtube.'" ]';
    $text = $youtube . '<p>' . $text . '</p>';
  }
  return $text;
}

输出:将短代码显示为纯文本

尝试3:构建iFrame

    add_filter( 'comment_text', 'modify_comment');
    function modify_comment( $text ){

      if( $youtube = get_comment_meta( get_comment_ID(), 'youtube', true ) ) {
        $youtube = '<div><iframe title="YouTube video player" class="youtube-player" type="text/html" width="640"
height="390" src="http://www.youtube.com/watch?v='.$youtube.'" frameborder="0"
allowFullScreen></iframe></div>';
        $text = $youtube . $text;
      }
      return $text;
    }

输出:空白框(损坏的iFrame)

尝试4:只是网址

add_filter( 'comment_text', 'modify_comment');
function modify_comment( $text ){

  if( $youtube = get_comment_meta( get_comment_ID(), 'youtube', true ) ) {
    $youtube = 'http://www.youtube.com/watch?v='.$youtube.';
    $text = $youtube . '<p>' . $text . '</p>';
  }
  return $text;
 }

输出:纯文本URL(预期的那种)

有没有其他人尝过这个?你能想到其他任何方法吗?

0 个答案:

没有答案