【发布时间】:2018-07-11 23:44:36
【问题描述】:
特别是我正在开发一个插件,但坚持编辑前端 html。 wordpress 是否有任何过滤器或功能来编辑页面的 html?
【问题讨论】:
特别是我正在开发一个插件,但坚持编辑前端 html。 wordpress 是否有任何过滤器或功能来编辑页面的 html?
【问题讨论】:
基本上,WordPress 的构建方式不允许您这样做。它只是在需要时继续推送其输出,并且当您执行任何过滤器时,它要么在任何输出发生之前(因此您无需修改)或之后(因此它已经离开浏览器)。
您可以尝试一个选项:使用输出缓冲。您可以在初始化时启动自己的输出缓冲区,在关闭时捕获它,然后利用最后的机会修改输出。
大体如下:
add_action('init', 'ob_start');
add_action('shutdown', function () {
$html = ob_get_clean();
$hmtl = morbvel_modify_html($html);
echo $html;
});
AFAIR,WordPress 已经对shutdown 执行了一项操作,该操作会清除所有输出缓冲区。您可以检查它的源代码,看看分配给 shutdown 挂钩的优先级以使其工作。
PS。作为一个 WordPress 用户,我不喜欢插件来做这样的事情——我担心你的代码会破坏我精心制作的令人敬畏的 html 输出中的某些内容。但你可能会像找到忠实的客户一样幸运。
【讨论】: