如何在WordPress主页、文章页显示不同页脚

分享 · 2012-01-09

大多数的WordPress博客在整个网站中都使用相同的页脚,很少有人知道其实利用 get_footer 函数可以非常简单的实现不同的页面类型显示不同的页脚。

例如,你可以:

  • 在首页显示一个由精选文章列表组成的大的页脚。
  • 在文章页面(single.php)显示一个相关帖子的页脚。
  • 也可以显示一个由广告、存档、网站地图组成的页脚。
  • 在你的404页面显示一个有分类和存档链接的页脚。


要做到这一切,我们就需要使用get_footer函数。另外,千万不要和wp_footer函数混淆哦,wp_footer函数是用在body标签之前用来结束页脚的标记。

get_footer 函数

get_footer 函数只需要一个参数就可以调用你想要显示的页脚模板。

大部分主题在使用这个函数的时候不添加任何参数。我们可以通过输入参数,让WordPress调用不同的模板。

例如,我们将下面的代码添加到single.php模板中:

然后,WordPress会插入一个名为footer-single.php的模板。同样,我们也可以在page.php中使用get_footer('page')调用footer-page.php模板;在index.php中使用get_footer('index')调用footer-index.php模板;在404.php中使用get_footer('404')调用footer-404.page模板。

你只需要花费很少的时间就可以创建这些自定义的模板,并自由的进行定制所需要显示的内容。下面让我们以page页为例,来看一下创建自定义页脚所需要的步骤:

  1. 新建一个名为footer-page.php的文件,插入从footer.php复制的所有代码。
  2. 上传footer-page.php至你的主题文件夹。
  3. 通过wordpress主题编辑器或者电脑中的一个文本编辑器打开主题文件page.php,在文本下方可以看到get_footer()函数,将其改为get_footer(‘page’),保存并上传你的文件。

ok,你的page.php页面调用的就是footer-page.php,而不是footer.page了。

最后,你需要做的就是定制你的footer-page.php,可以改变布局、配色方案,也可以显示不同的信息。

下面的图片是我在WordPress默认主题Twenty Eleven的页脚中做的修改。

different footer

WordPress 页脚
  1. 电视迷 2012-11-03

    嗯,一般不太注重页脚,反而是边栏想要有不同的效果。

  2. 丹丹博客 2012-08-08

    相同的页脚可以很好的集中权重
    只是个人的见解

  3. 小鬼哥 2012-07-07

    可惜Z-Blog不知道如何实现

  4. 李冬 2012-04-04

    博主你好,请问wordpress如何能做到像您的博客这样,在首页和/page/1这样的页面下方,现实1,2,3,---10这样的页码呢?默认的貌似只有older post这种前后页。

    1. 雷格 (作者)  2012-04-10
      @李冬

      安装插件WP-PageNavi

  5. 开心 2012-03-09

    博客不错,有时间我一定还会来的!

  6. 刘学政博客 2012-02-07

    zblog用户路过一下。

  7. 科幻电影 2012-02-05

    这个很有用,要不在页脚加的外链全变成全站的外链了。

  8. 落英纷淘 2012-01-17

    我也有个博客,不过好久没有更新了!

  9. 尘埃影像 2012-01-14

    都是高手!

  10. 陌凡 2012-01-13

    总是转到这里,朋友新春快乐哈

    1. 雷格 (作者)  2012-01-15
      @陌凡

      也祝福你新春快乐

  11. 平平 2012-01-13

    这个我还真不在乎的说,哈哈。

  12. 鲜活优惠码 2012-01-12

    这样的功能倒是没尝试过

  13. 老人头 2012-01-12

    会做主题了

  14. 陌凡 2012-01-11

    哈哈,过来学习哦

  15. 帅哥 2012-01-11

    都是用if single那几个函数。

  16. 小A 2012-01-10

    第一次来!~~坐个沙发爽爽~~

    1. 雷格 (作者)  2012-01-10
      @小A

      多谢捧场

Theme Jasmine by Kent Liao