【问题标题】:Run a WordPress function on end of video - video.js + WordPress在视频结束时运行 WordPress 函数 - video.js + WordPress
【发布时间】:2014-05-26 01:51:04
【问题描述】:

我正在尝试在我目前正在进行的 wordpress 项目中实现 video.js。

虽然 video.js 很棒,但我在尝试从中获得我需要的功能时有点卡住了。

简而言之,一旦用户观看了视频,我需要更新视频以在用户的​​个人资料上标记为“已观看”。我试图通过编写一个挂钩到自定义字段的 php 函数来实现这一点,检查视频是否已经被观看,如果没有,则该函数将视频添加到观看的视频列表中。

用户观看视频> 结束后,运行我的 WordPress 主题内的函数,functions.php

在 video.js API 中有一个结束事件。我遇到麻烦的地方是涉及到 wordpress 方面。

<script type="text/javascript">

    var myPlayer = videojs("session_video");

      videojs("session_video").ready(function(){

      this.on("ended", function(){
        // RUN THE FUNCTION.
      });

    });       
</script>

【问题讨论】:

  • 有什么方法可以避免向/通过 wordpress 发出请求吗?因为让 wordpress 以有用的方式接受 ajax 是一种痛苦。例如,您可以使用自定义页面来做到这一点,但这可能很难看。如果您可以使用普通的 php 文件(使用 wp-settings.php 进行配置)连接到数据库,这将使事情变得更容易。
  • 您能展示一下您的实施情况吗?您如何将播放器包含在 WP 中?
  • @brasofilo 我通过创建一个 ID 为“session_video”的 div 来实现视频播放器。在我的标记中,我通过 wordpress do_shortcode() 函数获取视频。短代码被放置在我后端的 wordpress 内容编辑器中。

标签: javascript php jquery wordpress video.js


【解决方案1】:
<script type="text/javascript">

    var myPlayer = videojs("session_video");

      videojs("session_video").ready(function(){

      this.on("ended", function(){
            $.ajax({
                url: "test.php",
                type: "post",
                data: {action: "watched", post_id: <?=$post->ID; ?>},
                success: function(data){
                if(data == "done") {
            $("#result").html('Thanks for watching the video.');
                } else {
            $("#result").html('Something\'s went wrong.');
                }
        }
            });
      });

    });       
</script>

并创建您的 test.php 文件,使用 $_POST["post_id"] 更改自定义字段等,如果 php 文件一切正常,则回显“完成”。

编辑 test.php 示例:

<?php
if($_POST["action" == "watched"] && isset($_POST["post_id"])) {
    // do what you want.
    if($everything_is_good) {
        echo "done";
    }
}
?>

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2022-12-02
    • 2013-08-08
    • 1970-01-01
    • 2021-08-04
    • 2014-12-06
    • 2012-12-21
    相关资源
    最近更新 更多