搜索全站
主题 11 分钟阅读

lumen-mimangfei 主题页脚与版权信息修改:小工具区域与版权文案

想改页脚版权、增删页脚小工具却找不到位置?本文讲清 register_sidebar 到 dynamic_sidebar 的链路,给出页脚多列布局与版权文案的可维护写法。

U
UFO_PF 2019-03-13 · 阅读 11 分钟
lu 主题
阅读提示
本文约 4,148 字,预计阅读 11 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:改个版权年份,为什么要动三个地方

页脚是主题里最容易被”硬编码”的地方。常见场景:站点上线两年,页脚还写着去年的年份;想加一列”联系方式”,发现后台小工具里只有”页脚 1″一个区域,加进去的内容跑到了别的位置;或者明明拖了小工具到页脚,前台却只显示主题默认的几行文字。

这些问题的根源在于:页脚区域是否由 register_sidebar() 注册、模板里有没有对应 dynamic_sidebar() 调用、以及版权文字是写在 footer.php 还是可以过滤。lumen-mimangfei 主题的页脚通常拆成”小工具区 + 版权条”两层,改动前先分清你要动的是哪一层。

原理分析:小工具区与版权条是两件事

侧边栏/小工具区由主题在 widgets_init 钩子上用 register_sidebar() 注册,注册时给出 id、name、before_widget、after_widget、before_title、after_title 等参数。用户在”外观 → 小工具”里摆放的内容存在 wp_options 的 widget_* 与 sidebars_widgets 里。前台由 dynamic_sidebar( $id ) 输出,如果模板里根本没有这一行,后台怎么拖都不会显示。

版权条则通常是 footer.php 里的一段静态 HTML,很多主题直接把公司名和年份写死。年份写死每年都得改,更好的做法是用 date( 'Y' ) 动态输出,或者提供一个过滤器让子主题改写整段文案。

你要改什么 改动位置 注意事项
页脚列数 register_sidebar 数量 + CSS 网格 增加区域后模板要同步调用
页脚内容 后台小工具 / 区块小工具 模板必须有 dynamic_sidebar
版权文案 footer.php 或过滤器 年份用 date('Y') 动态输出
底部备案号 主题选项或 footer.php 国内站点需保留工信部备案号与链接
页脚脚本 wp_footer 钩子 不要直接在模板里写 <script>

保姆级实操

  1. 确认页脚有几个小工具区:搜索主题里的 register_sidebar,数一下 footer 相关的 id,一般是 footer-1 到 footer-4。
  2. 确认模板确实调用了它们:打开 footer.php 看是否对每个 id 调用了 dynamic_sidebar(),缺哪个就补哪个。
  3. 在子主题里覆写 footer.php:从父主题复制一份到子主题根目录再改,不要动父主题文件。
  4. 注册额外的页脚区域:需要第四列就在子主题 widgets_init 里补一个 register_sidebar(),并在 footer.php 里输出。
  5. 版权年份动态化:用 date( 'Y' ) 输出当前年份;若需要”2021–2026″这种区间,把起始年份存进 theme_mod 由后台填写。
  6. 提供过滤器:给自己留改写入口,以后改文案不用再动模板。
  7. 检查页脚挂载点:确认 footer.php 末尾有 wp_footer(),缺了会导致统计代码、悬浮组件全部失效。
<?php
// 子主题 functions.php:补一个页脚区域
add_action( 'widgets_init', 'mimangfei_footer_widgets' );
function mimangfei_footer_widgets() {
    for ( $i = 1; $i <= 4; $i++ ) {
        register_sidebar( array(
            'id'            => 'footer-' . $i,
            'name'          => sprintf( __( '页脚第 %d 列', 'lumen-mimangfei' ), $i ),
            'before_widget' => '<section id="%1$s" class="widget %2$s">',
            'after_widget'  => '</section>',
            'before_title'  => '<h2 class="widget-title">',
            'after_title'   => '</h2>',
        ) );
    }
}
<?php
// footer.php(子主题覆写):四列小工具 + 可过滤的版权条
?>
<footer id="colophon" class="site-footer">
    <div class="footer-widgets">
        <?php
        for ( $i = 1; $i <= 4; $i++ ) {
            if ( is_active_sidebar( 'footer-' . $i ) ) {
                echo '<div class="footer-col footer-col-' . esc_attr( $i ) . '">';
                dynamic_sidebar( 'footer-' . $i );
                echo '</div>';
            }
        }
        ?>
    </div>

    <div class="site-info">
        <?php
        $since = (int) get_theme_mod( 'mimangfei_since_year', 2021 );
        $year  = date( 'Y' );
        $text  = sprintf(
            '&copy; %s %s',
            ( $since && $since < (int) $year ) ? $since . '–' . $year : $year,
            get_bloginfo( 'name' )
        );
        echo apply_filters( 'mimangfei_copyright_text', $text );
        ?>
    </div>
</footer>
<?php wp_footer(); ?>
</body>
</html>
/* 页脚四列:桌面均分,平板两列,手机一列 */
.footer-widgets {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
@media ( max-width: 900px ) {
    .footer-widgets { grid-template-columns: repeat(2, 1fr); }
}
@media ( max-width: 600px ) {
    .footer-widgets { grid-template-columns: 1fr; }
}
.site-info {
    border-top: 1px solid rgba(0, 0, 0, .08);
    padding-top: 16px;
    text-align: center;
    font-size: 14px;
}

常见踩坑

  • 只在后台拖了小工具,但主题 footer.php 里没有对应的 dynamic_sidebar( 'footer-2' ),内容永远不显示。
  • 新增 register_sidebar 后忘了清缓存或忘了在模板里输出,以为注册失败。
  • 版权年份硬编码成 2024,每年都要手动改一次。
  • 覆写 footer.php 时漏掉 wp_footer(),统计脚本、客服组件、懒加载全部失效,且很难联想到是页脚的问题。
  • 案例:某站改版后页脚备案号消失,被接入的监管检测提示不合规。原因是新覆写的 footer.php 直接复制了演示站模板,那一段是演示数据里的硬编码文本,改版时整个被替换。后来把备案号做成主题选项并在 footer.php 里读取,才避免再次丢失。
  • 页脚列数用 float 布局,在窄屏下错位且无法自适应。
  • 站点用了区块小工具(外观 → 小工具界面是区块编辑器),却按传统小工具的方式排查,找不到数据。

总结

页脚改动分清两层:小工具区看 register_sidebar + dynamic_sidebar 是否成对,版权条看 footer.php 是否可过滤。判断标准是”后台拖一个文本小工具进去,前台立刻出现”——出现即链路通。行动清单:① 核对 sidebar id;② 年份动态输出;③ 保留 wp_footer();④ 国内站点保留备案号;⑤ 页脚结构用 grid 而非 float。延伸阅读 lumen-mimangfei 主题菜单配置、WordPress 子主题制作 与 lumen-mimangfei 主题性能优化。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。