页面

来自WordPress中文文档
跳转至: 导航搜索

wordpress.org.cn

你可以在WordPress中撰写日志或是页面。当你撰写一般的博客文章时,就是撰写日志。这些日志会按逆时间顺序排列在博客首页上。而页面则是如关于博主, 联系博主这样的内容,它们是不受时间规则影响的,其内容一般很少改变。你可以使用页面来组织和管理任意数量的内容。

常见页面包括的内容还有:版权,相关法律信息,转载许可,公司信息及可访性声明。(顺带提一下,最好建立一个介绍页面和提供联系方式的页面 -- 可以参看一下Lorelle给出的相关建议。)

一般说来,页面跟日志很相似,它们都有标题和内容,并且通过使用外观模板使外观风格保持一致;但在这一方面,页面却具有若干区别于日志的重要特点。

“果壳”中的页面

页面可以:

页面不能:

  • 页面不是日志,也不是大片文章的节选。它们不会像日志那样周而复始地出现在博客主页上。(注:你可以使用[Inline Posts插件]在页面中包括进日志。)
  • 页面无法与分类关联,也无法被指派标签。页面的组织结构仅由各层的相互作用而产生,与标签或分类并无干系。
  • 页面不是文件。它们与日志一样是被存储在数据库中的。
  • 虽然你可以在页面模板中加入模板标签和PHP代码,但却无法将它们加入页面内容中并企图让它们运作。(注:你可以使用如Exec-PHPRunPHP这样的插件来达到此目的。)

创建页面

如果你具有足够的管理权限,就可以登入WordPress来新建文章,并以此新建一个页面。选择[管理面板][页面][页面新建]进行新的页面的创建。

修改页面的URL(或Slug)

自2.5版以来,页面URL的修改变得不那么直观了。如果你启用了永久链接并选择了Day and Name选项(点击设定标签,然后点击永久链接子标签),那么当你输入日志主体时,永久链接就会自动显示在日志标题之下。

但如果你选择了永久链接相关的其他选项,或根本没有启用永久链接的话,就需要按照如下步骤来编辑页面URL了:

  1. 通过撰写 页面来新建一个页面。
  2. 页面内容完成后点击发布按钮。
  3. 打开管理 页面
  4. 点击页面旁的编辑
  5. 点击编辑链接来修改出现在标题之下的永久链接。

也就是说,如果你没有启用正确的永久链接选项,就得在页面发布之后才能对URL做修改。

列出网站页面

WordPress能够自动列出网站上的页面,比如通过使用名为ttwp_list_pages()/tt的[模板标签]将它们显示在边栏中。以下操作的指导请参见[wp_list_pages]的相关页面:

  • 页面列表排序(自定义页面列表内的排列次序,撰写 页面管理面板中的页面排序部分就很有用),
  • 将某个页面从列表中[剔除](或 '隐藏'),
  • 控制页面的显示(显示所有页面或是显示特定的子页面),及
  • 控制列表中页面层次的深度。

你还可以使用HTML链接手动链接到页面。举个例子,如果你希望版权页面显示在页脚中,那么该链接就会显示为:br / 如果你没有设置[固定链接]

a title=Copyright information href=wordpress/?page_id=14Copyright 1996-2006/a

如果你设置了[固定链接]

a title=Copyright information href=wordpress/copyright/Copyright 1996-2006/a

:你的.htaccess文件必须为可写以使得页面永久链接起效,否则的话每当新建页面时,你就必须更新一下.htaccess文件。

组织页面

正如你可以在分类下建立子分类一样,你可以在页面中建立子页面,即创建具有层次的页面。

假定你用WordPress为某个旅行社做一个网站,然后为各大洲和各国家建立独立的页面,以便于旅游事宜的管理调度。你可以创建名为“非洲”的页面,在该页面上你可以给出有关非洲旅游线路的信息。然后你可以在非洲这一页面下创建一系列的子页面,莱索托,喀麦隆,多哥和斯威士兰。同理,还可以建立南美页面,然后它的子页面就可包括有巴西,阿根廷和智利。你的站点看起来就会这个样子:

  • 非洲
    • 喀麦隆
    • 莱索托
    • 斯威士兰
    • 多哥
  • 南美
    • 阿根廷
    • 巴西
    • 智利

打开管理 撰写 撰写页面面板,在面部右上角点击父页面下拉菜单。下拉菜单中包含了网站中已有页面的列表。如要将当前页转为子页面或父页面的子页面的或,请从下拉菜单中选取适当的页面。如果你从列表中指定了一个父页面,那么当前正在编辑的页面就会成为已选页面的子页面。当页面被罗列出来时,子页面会被嵌套在父页面之下。而从这些页面的固定链接也能看出出页面的层次结构。

上例中喀麦隆页面的固定链接就该是:

nowikihttp://example.com/africa/cameroon//nowiki

页面模板

单个页面可以使用外观主题中特定的自定义页面模板(PHP模板文件,如snarfer.php)(参见定制模板指导下的[#Creating_Your_Own_Page_Templates 创建自己的页面模板])。新的页面模板会覆盖外观主题中默认的ttpage.php/tt页面模板。 参见后文[#What Template is used to Display a Particular Page?|使用何种模板显示某特定页面?],来看看该使用哪种模板,不过请先读完下面这一段,这能帮助你理解该问题的答案 tt:)/tt

WordPress经配置可使用不同页面的不同页面模板。在撰写 页面 管理面板之下(或边栏中,这取决于你所使用的WordPress版本)有一个标有页面模板的下拉菜单。在此你可以选择显示某特定页面所用的模板。

注:为了能够访问页面模板选择器,在当前活动外观主题中至少需有一个可用的自定义页面(参见后文[#Creating Your Own Page Templates|创建自己的页面模板来了解如何进行创建])。

默认外观主题页面模板

默认外观主题包括了3种可供使用的页面模板:

  • ttpage.php/tt - 默认页面模板:显示页面内容
  • ttarchives.php/tt - 忽略页面内容,而是按月或按主题(按分类)显示一系列的归档
  • ttlinks.php/tt - 忽略页面内容,而使用 wp_list_bookmarks()显示链接

使用何种模板显示某特定页面?

WordPress会在当前活动外观主题中查找若干模板文件。首个查找结果将会被用来显示给定页面。WordPress会按如下顺序查找文件:

  1. 页面所选用的页面模板
  2. ttpage.php/tt
  3. ttindex.php/tt

创建自己的页面模板

定义各页面模板的文件可在[Using Themes|外观主题]目录下找到。要为某页面新建一个自定义页面模板的话,你需要新建一个文件。现在我们将这个页面模板命名为ttsnarfer.php/tt。在ttsnarfer.php/tt文件顶部输入如下内容:

?php
/*
Template Name: Snarfer
*/
?

以上代码定义ttsnarfer.php/tt文件为Snarfer模板。Snarfer这个页面模板名称可以任意修改。该模板名称将出现在外观主题编辑器中,并作为编辑该文件的链接。

该文件可被任意命名,扩展名为tt.php/tt(参见你不应使用的文件名保留(不可用)的外观主题文件名;这些文件名是WordPress保留下来以备特殊之用的文件名)。

以上五行代码之后的内容可就是你自己的事啦。剩下的代码则是控制页面使用Snafer页面模板的显示方式。你可以查看一下模板标签中可用在这里的WordPress各类模板函数的介绍。你可以将其他模板(可以是ttpage.php/tt或ttindex.php/tt)的内容复制到ttsnarfer.php/tt中,然后在文件开头加上上面五行代码,这样做起来会比较简单。如此一来,你只需要对HTML和 PHP代码做调整,而不需要重新建立了。这在下面给出了相关例子。一旦你完成了页面模板的创建,就将其置入外观主题目录,然后当你创建或编辑页面时就可以使用它了。(:当创建或编辑页面时,页面模板选项是不会出现的,除非你使用上述方式定义了至少一个模板。)

页面和模板样例

span id=Examples_of_Pages/spanspan id=Examples/span

以下为指导性的样例列举。

带有内容的归档

该页面模板会在顶部显示页面的内容,然后在内容之下显示一个含有月归档和分类的列表。它能够用于WordPress的默认外观主题(aka Kubrick),相信只需稍加修改就能使用在很多其他的外观主题中。

将以下内容保存至ttarc-cont.php/tt:

nowiki

?php /* Template Name: Archives with Content

  • /

?

?php get_header(); ?

div id=content class=widecolumn

?php if (have_posts()) : while (have_posts()) : the_post();?
div class=post
 h2 id=post-?php the_ID(); ??php the_title();?/h2
 div class=entrytext
  ?php the_content('p class=serifRead the rest of this page raquo;/p'); ?
 /div
/div
?php endwhile; endif; ?
?php edit_post_link('Edit this entry.', 'p', '/p'); ?

/div div id=main

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

h2Archives by Month:/h2

 ul
   ?php wp_get_archives('type=monthly'); ?
 /ul

h2Archives by Subject:/h2

 ul
    ?php wp_list_cats(); ?
 /ul

/div ?php get_footer(); ? /nowiki

页面文章

页面模板可以制定特定的分类利用特定的模板显示文章.它能够用于WordPress的默认外观主题(aka Kubrick),相信只需稍加修改就能使用在很多其他的外观主题中。

将以下内容保存至ttpageofposts.php/tt:

nowiki

?php /* Template Name: PageOfPosts

  • /

get_header(); ?

div id=content class=narrowcolumn

?php if (is_page('21') ) { $cat = array(12); } elseif ( is_page('16') ) { $cat = array(32); } elseif ( is_page('28') ) { $cat = array(17); } else { $cat = ; }

$showposts = -1; // -1 shows all posts $do_not_show_stickies = 1; // 0 to show stickies $args=array(

  'category__in' = $cat,
  'showposts' = $showposts,
  'caller_get_posts' = $do_not_show_stickies,
  );

$my_query = new WP_Query($args);

?

?php if( $my_query-have_posts() ) : ?

?php while ($my_query-have_posts()) : $my_query-the_post(); ? ?php //necessary to show the tags global $wp_query; $wp_query-in_the_loop = true; ? div ?php post_class() ? id=post-?php the_ID(); ? h2a href=?php the_permalink() ? rel=bookmark title=Permanent Link to ?php the_title_attribute(); ??php the_title(); ?/a/h2 small?php the_time('F jS, Y') ? !-- by ?php the_author() ? --/small

div class=entry ?php the_content('Read the rest of this entry raquo;'); ? /div

p class=postmetadata?php the_tags('Tags: ', ', ', 'br /'); ? Posted in ?php the_category(', ') ? | ?php edit_post_link('Edit', , ' | '); ?  ?php comments_popup_link('No Comments #187;', '1 Comment #187;', '% Comments #187;'); ?/p /div

?php endwhile; ?

div class=navigation div class=alignleft?php next_posts_link('laquo; Older Entries') ?/div div class=alignright?php previous_posts_link('Newer Entries raquo;') ?/div /div

?php else : ?

h2 class=centerNot Found/h2 p class=centerSorry, but you are looking for something that isn't here./p ?php get_search_form(); ?

?php endif; ?

/div

?php get_sidebar(); ?

?php get_footer(); ? /nowiki

WordPress用作CMS

你可将WordPress用于基本的内容管理。如果要这么做的话,那么你很可能为自己的内容创建了大量的页面。

将某页面用作首页

WordPress 2.1 引入的一个选项能够很简便地将任意页面设定为首页。打开WordPress管理界面中的 设定 阅读。在首页分类下你可以选择将任意已发布页面或日志页面设置为首页。默认设定是将最新博客日志显示为首页。

针对WP2.1之前的版本设定首页的备用方法

如果不想使用内置特点将主页设置为静态页面的话,你还有两条路可以选。使用静态首页插件,它可以将任意网页设定为你网站的首页。该插件会修改主页查询,并将带有home(主页)页面slug的页面粘到首页上。

当页面作为主页显示出来时,如果对当前活动外观主题存在一个名为home.php的页面模板的话,该插件会覆盖页面已定的页面模板并代之使用home.php。如页面按标准页面(如ttnowikihttp://example.com/home//nowiki/tt)进行访问的话,页面的已定页面模板将仍会使用

作为插件的备用方法,WordPress会识别出模板目录下的home.php文档,并代之index.php而使用前者来进行首页的外观定义。如果你的首页不是自己的博客的话,那么建议无论如何也要将home.php模板应用于博客页面。在调用 主循环(loop)之前你可以使用 query_posts()模板标签来呼叫任意页面。例如: pre ?php

    query_posts('pagename=home'); 

? /pre

将会呼叫仅具有pagename为home的日志。有关该模板标签的实际使用详解请见 query_posts()

包括一个页面

你还可能希望在站点各处包括进一些页面。这样一来,编辑网站元素就变得容易许多。有一个名为Improved Include Page的插件可以轻松地实现此目的。

WordPress的动态页面

一个网页可以是静态或者动态的。像那些只需要创建一次,无需根据用户访问而每次重新创建的标准的HTML静态页面,可以通过Dreamweaver来创建生成。 相对应的,像通过Wordpress创建的动态页面,随着每一次用户的访问,都会重新生成一次。 这些很多都是采用PHP代码,根据每一次访问,都会生成相对应新的内容。

几乎Wordpress中所有的东西都是动态生成的,包括页面。 所有的你或者其他人在Wordpress中写的内容(文章,页面,评论,链接,分类等)都保存在你的MySQL数据库中。当你的站点被访问,你的Wordpress就会从数据库中调用信息,然后通过你当前使用的WordPress模板,生成被请求的相应网页,反馈给用户。 因此,Wordpress信息都是动态的,包括那些包含在页面当中的部分。

HTML文档可以说是一个关于静态页面的例子,没有用到任何的PHP代码,比如“关于我”的页面,静态页面和动态页面的一个很大的不同,就是在你改变你的Wordpress设定,或者模板的时候,静态页面不会随之而改变。Wordpress中的页面功能之所以被开发,就是为了解决这样的问题。每一次你修改了内容或者样式,页面都会将其反映到你的博客中。

尽管是动态的页面,不过很多人都将他们当作是静态的。而对于内容发布,静态和动态的区别在上面已经解释清楚了。更加通俗的说,静态就是缺乏改变的典型。我们很容易就可以理解,这个单词的定义影响到了网页本身的描述类型。也很容易理解为什么人们认为的页面是静止;其他的内容为之都是动的,但通常却是保持不动的。因为通常被用来显示关于您的网站的一些固定信息。(例如,有关自己的信息,您的网站说明)。

换句话说,一个页面装载着静态信息,但却是动态生成的。 因此不管是静态或者动态,都可以恰当的用来描述Wordpress的页面这一特性。但是为了避免混乱,以及页面本身是动态的,因此文档中都不把页面当作是静态的。

译者信息

本文档由ThemeDaily翻译br / 译者博客:Free Wordpress Themesbr / E-Mail:admin@themedaily.com

相关内容: