我正在尝试将胡子模板引擎与WordPress相匹配。到目前为止,我已经非常成功地使用了\\u内容作为过滤器来解析我的模板标记,例如。{{ something }}
.
但是,如果开发人员将模板标记直接硬编码到页面模板中,例如循环页面,那么\\u内容不会捕获硬编码的标记。
是否有一个过滤器允许我捕获整个页面模板的内容,包括内容?
最合适的回答,由SO网友:s_ha_dum 整理而成
WordPress在打印之前不会将整个页面连接成字符串,这是“捕获”整个页面模板所必须发生的事情。页面的大部分内容echo
当它发生时,请考虑模板标记,如the_content
和the_title
不会返回字符串。正义echo
他们
要做到这一点,必须使用输出缓冲。如果您正在编写模板,那么这很容易--ob_start
开始时或header.php
和ob_get_contents
(或ob_get_clean
) 在…的结尾footer.php
. 但在这些位置没有专门的挂钩。您应该能够使用ob_start
在wp_head
过滤器和ob_get_contents
在wp_footer
过滤器。我得玩些东西才能接通电话。可能有一个更好的钩子ob_start
. 我怀疑还有更好的ob_get_contents
.