【问题标题】:edit php code in WordPress在 WordPress 中编辑 php 代码
【发布时间】:2018-04-22 18:35:53
【问题描述】:

我是 wordpress 的初学者,然后在下面的代码中,我有一个视频 ID 数组,并且我在页面上使用集成的 vimeo 视频。 页面一打开,视频就开始播放,当第一个视频播放完毕后,第二个视频开始播放。 现在,我想在我的 wordpress 中添加一个文本字段,以允许用户在他想更改视频时编辑 ID。 有任何想法吗 ?

<div id="headervideo" class="videoClass"></div>
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
    document.addEventListener("DOMContentLoaded", function(event) {

        var videos = [ '240466644', '146661000']; //Array videos ids
        var options = {
            id: videos[0],//first element
            width: 700,
            height: 500,
            loop: false
        };
        player = new Vimeo.Player('headervideo', options); 
        player.play()
        playMovie(videos, 0, true) 
    })

    var playMovie = function(videos, currentVideoIdx, first) {

    if (!first) {
        player.loadVideo(videos[currentVideoIdx % videos.length]).then(function(id) {
            player.play()
        }).catch(function(error) {});

        player.on('ended', function() {
            playMovie(videos, ++currentVideoIdx, false)
        });
    }
</script>

【问题讨论】:

  • 用户应该如何知道id?您不想添加选择而不是输入吗?
  • 是的,这是有道理的,我认为这是最好的方式......我的视频在 vimeos 上......有问题吗??
  • 不,应该不是问题。这就是你使用 vimeo 播放器的原因。

标签: php wordpress advanced-custom-fields


【解决方案1】:

您是否考虑过将此功能编写为自定义简码?然后,您可以允许您的管理用户通过修改短代码属性来更改视频 ID。

例如,假设您将功能放在一个短代码中,并且使用以下值访问该短代码:two_videos

您可以修改您的功能以允许用户输入/修改您的简码,因此您的最终简码如下所示:

[two_videos video1='240466644' video2='146661000']

这样,您的管理员用户只需更改参数 video1video2 的值,即可达到您想要的效果。

【讨论】:

  • 您不需要这样做。您需要重新编写它才能用作简码。您是否有权访问 WordPress 的 functions.php 文件以使您的代码成为简码?
  • 是的,我可以访问 functions.php .... 我读到了类似以下内容的脆饼:
  • '240466644', 'video2' => '146661000', ), $param ) ); } ?>
【解决方案2】:

您不能允许用户编辑 ID,并且出于安全原因,简单来说没有人这样做。但是您可以调用字符串函数获取用户输入,然后通过调用将字符串值推送到函数(即 id 数组)。但是,在您提供更多详细信息之前不确定。您正在努力实现的目标。

【讨论】:

  • 所以,我希望可以更改视频,而无需仅在 wordpress 中访问代码...有可能吗??
  • 更改视频的意思是播放另一个具有不同 ID 的视频。
  • 正是....例如今天我的网站上有这个视频:var videos = ['240466644', '146661000'];但另一天我想用这个 ids 播放其他视频 var videos = ['111122222', '333344444'];
  • 最好的方法是使用数据库每天提取价值并显示它,您肯定想对其进行编码。否则,搜索是否有一些插件可用。
猜你喜欢
  • 2017-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
  • 2011-10-21
  • 2015-04-04
  • 2019-06-11
相关资源
最近更新 更多