首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止WordPress oEmbed HTTP

如何阻止WordPress oEmbed HTTP
EN

Stack Overflow用户
提问于 2017-04-13 18:08:06
回答 1查看 282关注 0票数 1

希望阻止包含非https URL的oEmbed请求,但下面的代码对我没有帮助。不确定这是否是正确的钩子。有什么想法吗?

代码语言:javascript
复制
add_filter('pre_oembed_result', array($this, 'filter_oembed'), 5, 3);

function filter_oembed ($result, $url, $args) {
    if (substr($url, 0, 7) === "http://") {
        return null;
    }
}

我正在使用Wordpress 4.7.2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-13 18:33:28

我没有太多的Wordpress经验,但是医生们让它听起来像是在期待某种返回,而且只有在URL以"http://"“开头时才返回。另外,我假设这是在某种类中运行的,否则在回调规范中使用$this将不能很好地工作。顺便说一句,PHP提供了内置函数来解析URL:

代码语言:javascript
复制
<?php
add_filter('pre_oembed_result', array($this, 'filter_oembed'), 5, 3);

function filter_oembed ($result, $url, $args) {
    if (parse_url($url, PHP_URL_SCHEME) !== "https") {
        $result = false;
    }
    return $result;
}

禁用单个短代码或至少所有内部链接的oEmbed也可能会对事情有更多的了解。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43399018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档