0

我的帖子有内容:

<p>download <a href="https://www.google.com/file/JRWZZPB5HS69" target="_blank">Download</a></p>
<p>download mirror <a href="https://mega.nz/#!Z3wkgaba!KdgfdsDgSDgSDgdsg" target="_blank">Download</a></p>

我有一个添加前缀域的脚本,我把它放在前面</body>

<script type="text/javascript">
        var tui_url = 'https://mydomainasd.com';
        var tui_domains = ['mediafire.com', 'www.abc.com','mega.nz', 'drive.google.com','secufiles.com'];
</script>
<script>
function tui_get_url(e) {
var n = document.createElement("a");
return n.href = e, n
}

function tui_get_host_name(e) {
var n;
return void 0 === e || null === e || "" === e || e.match(/^\#/) ? "" : -1 === (e = tui_get_url(e)).href.search(/^http[s]?:\/\//) ? "" : (n = e.href.split("/")[2], (n = n.split(":")[0]).toLowerCase())
}
document.addEventListener("DOMContentLoaded", function(e) {
if ("undefined" != typeof tui_url) {

    var l = document.getElementsByTagName("a");
    if ("undefined" == typeof tui_domains)
        if ("undefined" == typeof tui_exclude_domains);
        else
            for (o = 0; o < l.length; o++) {
                var t = tui_get_host_name(l[o].getAttribute("href"));
                t.length > 0 && -1 === tui_exclude_domains.indexOf(t) ? 
l[o].href = tui_url + "?u=" + encodeURIComponent(l[o].href) : "magnet:" === 
l[o].protocol && (l[o].href = tui_url + "?u=" + encodeURIComponent(l[o].href))
            } else
                for (var o = 0; o < l.length; o++)(t = 
tui_get_host_name(l[o].getAttribute("href"))).length > 0 && 
tui_domains.indexOf(t) > -1 ? l[o].href = tui_url + "?u=" + 
encodeURIComponent(l[o].href): "magnet:" === l[o].protocol && (l[o].href = 
tui_url + "?u=" + encodeURIComponent(l[o].href))
}
});
</script>

它运作良好。

但是现在我想在生成帖子内容之前执行此任务,这意味着上面的脚本不会出现在输出 HTML 中。

我想创建一个插件或函数,但我不知道该怎么做。

你能帮我解决这个问题吗?对不起我的英语不好

4

1 回答 1

1

你可以试试这个过滤器:https ://codex.wordpress.org/Plugin_API/Filter_Reference/the_content

您将在函数中获取帖子的内容,以便在显示之前使用 PHP 对其进行编辑。

您可以将此代码放在主题根目录下的functions.php 或插件中。

于 2018-04-03T04:34:19.737 回答