WordPress主题开发教程十四:搜索框和日历

本文介绍了在WordPress侧边栏中添加搜索框、日历和元数据的方法。通过创建searchform.php文件并引入到index.php中实现搜索功能;使用get_calendar()函数添加日历;通过wp_register()、wp_loginout()等函数实现元数据模块。文章详细说明了每个步骤的代码实现和功能说明,最终完成常规侧边栏的搭建。

WordPress基础教程
阅读时间: 23 分钟
最后更新时间:2025年11月13日

尽管这篇的题目是 搜索框(Search Form) 和 日历(Calendar),但是我同样也会介绍 元数据(Meta) 。这一篇我们会结束常规的侧边栏,然后将在下一篇将介绍如何窗体化(widgetize)化侧边栏。

第1步:增加搜索框

创建一个新文件,然后把该空白文件保存为 searchform.php(当然是和 index.php在同一个文件夹下)。把 searchform.txt 中的内容拷贝到 searchform.php

在 index.php 文件,在侧边栏的最顶部输入以下代码:

<li id=”search”>
<?php include(TEMPLATEPATH . ‘/searchform.php’); ?>
</li>

5673eb957e80c

保存并刷新浏览器,结果如下:

5673eb95826b2

刚才发什么了呢?

  • <li id=”search”> – 开始一个名字为 search 的列表元素,给它一个 ID,这样就能够以后样式化它。
  • include() – 导入任何你想导入的文件。这和使用 WordPress 模板函数去调用模板文件是不同的,因为 include() 只是简单导入已经存在的文件。这里是调用在searhform.php 文件中的代码。被导入的信息应该在一个博客上基本不会被改变的。
  • TEMPLATEPATH – 主题文件夹的位置,这里是:wp-content/themes/tutorial
  • ‘/searchform.php’ – 文件名:/searchform.php
  • 在 TEMPLATEPATH 和 “/searchform.php” 中间的把它们连接起来,所以最终得到:
    wp-content/themes/tutorial/searchform.php
  • </li> – 结束列表元素

注意,搜索框不像分类,归档,页面或者 Blogroll 一样有子标题。当然如果你愿意,也可以给它一个子标题。

第2步:增加日历

在搜索框或者页面链接列表下面输入以下代码:

<li id=”calendar”><h2><?php _e(’Calendar’); ?></h2>
<?php get_calendar(); ?>
</li>

5673eb95887f8

保存并刷新浏览器,结果如下:

5673eb958c08a

发生了什么?

  • <li id=”calendar”> – 开始一个 ID 为 “Calendar” 的列表元素
  • <h2> – 开始一个子标题
  • <?php _e(’Calendar’); ?> – 输出 Calendar 这个词
  • </h2> – 关闭子标题
  • get_calendar() – 使用 get_calendar() 这个 WP 函数调用日历
  • </li> – 结束列表元素

这样日历就完成了

第3步:增加元数据

在 get_links_list() 函数下输入以下代码:

<li><h2><?php _e(’Meta’); ?></h2>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>

5673eb95944c4

保存并刷新浏览器,结果如下:

(如果你没有登录 WordPress)
5673eb9597a61

(如果你已经登录)
5673eb95a6714

那么这是怎么回事呢?

你开始一个列表元素(LI),跟着是一个子标题(H2) Meta。在子标题下,嵌入了一个无序列表(UL)。最后把每个链接都放入了列表元素中(LI)。

wp_register() 这个函数能产生一组 <li> 和 </li> 标签,如果你没有登陆,它显示注册(Register)链接,如果登录了,它显示的是 站点管理(Site Admin)的链接。
wp_loginout() 不会产生列表元素标签,所以需要我们手工输入列表元素标签,当你没有登录的时候,得到的是 登录(Login) 的链接,当已经登录的时候,得到的是登出(Logout)链接。

到目前为止,wp_meta() 没有做任何事情,他在网页上和源代码中都不会产生东西,现在不要考虑 wp_meta(),实际上你已经在使用它了。

到此为止,我们已经完成 Meta 并最终完成了常规的侧边栏。

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

在AI里面继续讨论:

曾凤祥

曾凤祥

WordPress技术负责人
小兽WordPress凭借15年的WordPress企业网站开发经验,坚持以“为企业而生的WordPress服务”为宗旨,累计为10万多家客户提供高品质WordPress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽WordPress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部