如何在生成之前更改wordpress发布内容

时间:2018-04-03 02:45:44

标签: wordpress facebook-webhooks

我的帖子有内容:

<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中。

我考虑创建一个插件或功能,但我不知道该怎么做。

你可以帮我解决这个问题吗?抱歉我的英文

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此过滤器:https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content

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

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