以下是我所做的:
已插入ob_start()
和ob_get_clean()
, 在中的战略位置header.php
和footer.php
在源于我的网站主主题的子主题中。
<some header stuff>
ob_start()
<header html I want to reuse across network>
<?php $html = ob_get_clean(); echo $html; harvest_html($html, \'header\'); ?>
功能
harvest_html
只需获取字符串并将其写入文件即可。我对页脚也做了同样的事情。为了降低开销,我只允许在用户
is_super_admin()
. 只要超级管理员至少登录一次,就会获取页眉/页脚。
然后,在一个简单的插件中,我通过挂接admin_head
和in_admin_footer
. 当然,任何需要的CSS或JS也需要在那时排队。
它起作用了。任何登录到其子域站点并转到任何管理页面的用户都将获得基本站点的页眉/页脚,而不管他们当前使用的主题是什么。
而且,它的维护相对较低,因为对基本站点的页眉/页脚所做的任何更改都将自动获取。
我还处理动态的页眉/页脚片段(例如,如果一些PHP呼应用户名或一天中的时间等),方法是解析出函数调用,由我放在它们周围的特殊包装器标识,然后在注入Admin时重新评估它们。