V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wehut
V2EX  ›  WordPress

这种弹窗视频链接如何做成 wp 短代码

  •  
  •   wehut · 2018-12-23 11:56:31 +08:00 · 2050 次点击
    这是一个创建于 2160 天前的主题,其中的信息可能已经有所发展或是发生改变。

    a onclick="window.open('http://player.youku.com/embed/XMTU3MzQ4NTY0MA','window','width=720,height=500');">《神秘海域 4 》突破天际的物理效果演示</a

    这种弹窗 代码 wordpress 如何做成视频短代码 类似 [youku code="XMTU3MzQ4NTY0MA"] 这种,顺便在问下能不能高级的做成 [youku code="XMTU3MzQ4NTY0MA" title="《神秘海域 4 》突破天际的物理效果演示"] 如果在 title 不填的情况下 就显示 youku 观看

    11 条回复    2018-12-23 15:40:47 +08:00
    summerwar
        1
    summerwar  
       2018-12-23 12:13:28 +08:00
    wordpress Shortcode 自定义插入视频短代码 请把上面的内容放到搜索引擎里搜下就知道了,一大把教程
    wehut
        2
    wehut  
    OP
       2018-12-23 12:16:12 +08:00
    @summerwar 搜出来很多 不过都卡在了 window.open('http://player.youku.com/embed/XMTU3MzQ4NTY0MA','window','width=720,height=500'); 这一段上 加上 网上的教程 shortcode 参数 都是 '.code.' 这种类型 就和 这段冲突 wordpress 报错
    summerwar
        3
    summerwar  
       2018-12-23 12:31:58 +08:00
    用 Google 搜我给你发的那个内容,第一个就是

    window.open 在我搜到的结果里都没有出现,不知道你看的什么教程。贴网址的风险太高,自己去搜吧。

    一般是在 function.php 中加入 iframe 代码,然后里面留个 url 地址参数,后面 shortcode 中调用
    wehut
        4
    wehut  
    OP
       2018-12-23 12:44:03 +08:00
    @summerwar 你说的是"wordpress Shortcode 自定义插入视频短代码 – 行星带"这条?

    还是和这句 有冲突 window.open('window','width=720,height=500'); 主要问题 还是 和 '.$content.' 冲突了
    summerwar
        5
    summerwar  
       2018-12-23 12:50:52 +08:00
    你写的短代码的全部代码贴下
    wehut
        6
    wehut  
    OP
       2018-12-23 12:57:18 +08:00
    @summerwar /*Add Video Shortcode*/
    function video_url($atts, $content = null) {
    extract(shortcode_atts(array(),$atts));
    return'<a href="#" onclick="window.open('http://player.youku.com/embed/'.$content.'','window','width=720,height=405');">优酷在线</a>';
    }
    add_shortcode('video','video_url');
    wehut
        7
    wehut  
    OP
       2018-12-23 13:26:12 +08:00
    @summerwar 或者 有没有办法把这段 做成短代码

    <div id="post-hide-btn"><a onclick="openShutManager(this,'hide4964',false,'关闭阅读内容','展开继续阅读')">展开继续阅读</a></div>
    <div id="hide4964" style="display:none">

    hide4964 是可填参数
    summerwar
        8
    summerwar  
       2018-12-23 14:41:19 +08:00   ❤️ 1
    在主题的 footer.php 中添加下面的 js

    <script type="text/javascript">
    function winOpen($url){
    window.open("http://player.youku.com/embed/"+$url,"window","width=720,height=405");
    };
    </script>

    然后在 function.php 中添加下面的内容:

    function video_url($atts, $content = null) {
    extract(shortcode_atts(array(),$atts));
    return'<a onclick="winOpen(\''.$content.'\')">优酷在线</a>';
    };

    add_shortcode('video','video_url');

    如果需要标题,自行修改,这个代码我已经测试通过可以用了
    summerwar
        9
    summerwar  
       2018-12-23 14:42:30 +08:00
    其他的自己改吧,我不用 WordPress 只是想测试下看,所以安装了个 反正视频的那个可以按照上面的实现你要的效果
    wehut
        10
    wehut  
    OP
       2018-12-23 15:14:33 +08:00
    @summerwar 多谢指导
    wehut
        11
    wehut  
    OP
       2018-12-23 15:40:47 +08:00
    @summerwar 另外这个问题现在也卡着我

    <div id="post-hide-btn"><a onclick="openShutManager(this,'hide4964',false,'关闭阅读内容','展开继续阅读')">展开继续阅读</a></div>
    <div id="hide4964" style="display:none">

    hide4964 是可填参数 短代码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:56 · PVG 21:56 · LAX 05:56 · JFK 08:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.