主题 CSS 怎么组织:一个文件写完还是拆成模块,我们的取舍
单文件 CSS 写到 3000 行以后,找一条规则要看半天。但拆成十几个文件,请求数又上去了。 先说结论。 开发时拆,上线后合并。 拆的粒度按「页面区域」而不是按「技术职责」。别搞 base/…
聚焦 Z-Blog 建站实战:模板文件修改、插件开发、伪静态与 SEO 配置及常见报错排查。
单文件 CSS 写到 3000 行以后,找一条规则要看半天。但拆成十几个文件,请求数又上去了。 先说结论。 开发时拆,上线后合并。 拆的粒度按「页面区域」而不是按「技术职责」。别搞 base/…
主题和插件同时改同一块区域,结果就是一团乱。 先分清谁在改。 插件挂的钩子一般比主题晚执行——主题在 Filter_Plugin_Zbp_Load 里注册,插件在插件加载阶段注册,顺序取决于「…
改一行 CSS,刷新,没变。再刷,还没变。这时候先别怀疑代码。 三层缓存,从后往前查。 第一层,浏览器。强刷是 Ctrl+F5,Mac 上 Cmd+Shift+R。不确定的话,直接开无痕窗口最…
搜索页看着简单,出问题的地方特别多。 基本结构。 search.php 里,$zbp->search 拿当前搜索词,$zbp->GetArticleList 那个搜索,或者更常见的是直接遍历 …
导航看着简单,是最容易出兼容问题的地方。 数据从哪来。 $zbp->modules 里 FileName 为 navbar 的那个模块,GetList() 拿到的是一串现成的 。 但多数主题不…
暗色模式不难,难的是闪白。 先说结构。别写两套样式表,用 CSS 变量。 在 :root 里定义一套亮色变量,比如 --bg、--text、--border、--card。然后 html.da…
评论模板是主题里最容易被忽略的。多数人抄一份 comment.php,能用就不再看了。真改起来,坑不少。 先搞清数据层。 评论不是一次全取回来的。$article->Comments 只含一级…
很多人改主题卡在侧栏。模板里写着 {foreach $sidebar as $module},但不知道这个 $sidebar 从哪来、里面装了什么。 它是 $zbp->modules 按 Si…
打开一个别人写的主题,header.php 里往往堆了十几行 meta。有些是必须的,有些纯属历史包袱。我按顺序说。 必须有的三个。charset 放第一行,越靠前越好,浏览器拿到前 1024…
分页坏了,一般是三种情况之一。 要么页码不显示,要么显示了但点了跳到第一页,要么点第二页出来的是第一页的内容。 分别对应三个不同的问题。逐条说。 一、页码不显示 模板里没写分页标签,或者写了但…