创建搜索页面

1条评论

WordPress会自动生成一个搜索结果网页,你也可以自己定制一个搜索页面。使用WordPress的页面特点,你就可以创建自定义的搜索页面,从而更好地帮助访客搜索你的网站。

注意事项 

不同的WordPress外观主题具有不同的模板文件。某些包含有一个search.php模板文件。这并不是一个搜索页面(Search Page),它仅仅是一个显示搜索结果的模板。还有一种模板文件searchform.php。此模板文件通常被包括在许多外观主题的边栏中,它会生成搜索框表单。如果在你的外观主题中不含这些文件的话,可以直接从默认外观主题那复制一个过来用。

要创建自定义的搜索页面,你需要创建一个页面模板来包括搜索表单以及你希望用户在搜索网站之前看到的信息。

检查WordPress外观主题是否包括了page.php模板文件。WordPress的默认外观主题包括有该模板,但很多其他的外观主题不包括它。如果你的外观主题含有此模板的话,请按照下文中的指导进行操作;如果不含的话,请按照我们给你的相关信息自行创建

使用page.php

1. 使用文本编辑器,打开page.php并另存为searchpage.php。(:文件名search.php是作为一个特殊的模板名被保留下来的,因此不要使用它;这里推荐使用的searchpage.php在文件列表中能够很容易地被辨识出来。)

2. 保存之后,对文件进行编辑:

  • 删除循环(即content div之内的所有内容),但请保证div标签的完整性
  • 添加一个标头,比如"日志搜索"一类的内容。你可以使用CSS风格页中已有的类别,也可以新建一个。
  • 将如下内容复制到content div中,或其他含有页面内容的div中
<?php include (TEMPLATEPATH . '/searchform.php'); ?>

 

  • searchpage.php文件顶部所有内容之前,加入以下内容以给搜索页面加上一个标头,WordPress将会在管理面板中识别出来
<?php
/*
Template Name: Search Page
*/
?>
  • 保存文件
  • 将文件上传到外观主题目录下(如果你对style.css 风格页文件做了修改的话,请同时将该文件也上传上去)。
  • 打开管理面板中的撰写 > 撰写页面
    WordPress Write Page Panel

    WordPress撰写页面面板

  • 在标题输入框中输入搜索(Search)
  • 请勿在内容区域中写入任何内容
  • 页面模板下拉菜单中选择:搜索页面(Search Page)
  • 点击新建页面(Create New Page)按钮
  • 选择管理面板面板。
  • 记录下名为搜索页面(Search Page)的新建页面page_id数

现在你就可以开始定制搜索页面的外观了。

创建搜索页面模板

如果你还没有page.php文件,可以根据外观主题的index.php模板文件来创建一个

  1. 使用文本编辑器打开外观主题的index.php文件,并另存为searchpage.php。
  2. 接着按照上面给出的编辑步骤进行操作。

连接到搜索页面

现在你可以为自定义的搜索页面做一个链接了,方法有如下几种:

使用Page ID 
无论是否使用永久链接,你都可以通过使用页面的Page ID数来连接到新建的搜索页面。
<a href="index.php?page_id=17" title="Search Page">Search Page</a>

或
<a href="<?php bloginfo('url'); ?>/?page_id=17">Search Page</a>
使用Page Slug 
Page slug是在编辑页面面板中设定的。如果你使用固定链接的话,它就是页面的名称了。你可以手动对其进行更改。Page slug链接举例:
<a href="/wordpress/search-page" title="Search Page">Search Page</a>

或
<a href="<?php bloginfo('url'); ?>/wordpress/search-page" title="Search Page">Search Page</a>
使用wp_list_pages()
如果你使用wp_list_pages模板标签的话,页面名称会自动在页面列表中生成。

定制搜索页面

Manage Pages Panel

管理页面面板

现在你已经创建了自定义的搜索页面了,也是定制显示外观的时候了。在管理 > 页面面板中自定义搜索页面那一行,选择编辑。或使用文本编辑器打开searchpage.php文件进行编辑

searchform.phpinclude函数之上content div之内,你可以添加文本内容来帮助访客进行搜索操作。

 


<p>
My Site features articles about 
<a title="WordPress Articles" href="index.php?cat=4">WordPress</a>, 
<a title="Web Design Articles" href="index.php?cat=5">web page design</a>, 
<a title="Development Articles" href="index.php?cat=6">website 
development</a>,
and <a title="CSS Articles" href="index.php?cat=7">CSS</a>.
</p>
<p>请使用下面的表单搜索本站。</p>

<?php include (TEMPLATEPATH . '/searchform.php'); ?>

你还可以包括进一些关键词或其他信息,图片或细节来定制搜索页面。

 

#1
发现未知页面带有搜索框,直接带到未知页面进行搜索了,先偷个懒