内容链接
在WordPress中有两种方法可以生成页面之间的内部链接,一种使用永久链接,另一种不使用永久链接,无论网站是否禁用永久链接,后一种方法都可以正常运行。
不使用永久链接
如果不用永久链接,那么应该用什么来链接到网站中的页面、文章和类别呢?
我们可以按照下面的方法,利用文章、类别和页面管理中ID栏中的数值来生成链接。
文章
要链接到某篇文章,首先在文章管理栏中找到目标文章的编号,然后将以下链接中的“123”更改为文章编号:
<a href="index.php?p=123">Post Title</a>
类别
要链接到某个类别,首先在类别管理栏中找到目标类别的编号,然后将以下链接中的“7”更改为类别编号:
<a href="index.php?cat=7">Category Title</a>
页面
要链接到某个页面,首先在页面管理栏中找到目标页面的编号,然后将以下链接中的“42”更改为页面编号:
<a href="index.php?page_id=42">Page title</a>
数据库中的存档
- 年:<a href="index.php?m=2006">2006</a>
- 月:<a href="index.php?m=200601">Jan 2006</a>
- 日:<a href="index.php?m=20060101">Jan 1, 2006</a>
外部链接
如果想添加外部链接,请将完整URL指定到正确位置:
<a href="http://example.com/index.php?p=123">post title</a>
如果将WordPress安装在子文件夹中,别忘了将文件夹添加到链接URL中:
<a href="http://example.com/wordpress/index.php?p=123">post title</a>
使用永久链接
以上所有非永久链接方法都可以在使用永久链接时继续使用,永久链接是否被激活不影响非永久链接方法的使用。若用户的永久链接是激活的,就可以选择为访问者提供比加密数字更友好的链接。
URL的复杂性取决于永久链接配置的复杂性。如果永久链接配置(在 设置>固定链接 栏中进行设置)中包含很多结构标签,那么构造URL的难度会相对较高。
文章
将永久链接结构中的结构标签都替换为适当的文章相关数据,从而为文章创建相应的URL。例如,如果永久链接结构是:
/index.php/archives/%year%/%monthnum%/%day%/%postname%/
将永久链接结构中的结构标签都替换为文章相关数据,生成链接如下所示:
<a href="/index.php/archives/2005/04/22/my-sample-post/">My Sample Post</a>
在WordPress博客内定位到某篇文章,然后复制WordPress生成的博客链接中的一个,这样能够得到较为准确的URL。
想了解为文章生成URL的更详细情况,请参阅使用WordPress固定链接。
类别
若要用永久链接生成类别的链接,首先需要在设置>固定链接管理栏中获取分类基础(Category Base)的值,然后将类别名称附着在结尾处。
例如,如果类别名称为“测试”,类别基础为"/index.php/categories",可使用以下链接:
<a href="/index.php/categories/testing/">category link</a>
页面
页面层级与类别相似,页面也可以拥有父级。如果一个页面在层级的根层,可以在永久链接结构的静态部分后指定该页面的“页面别名”:
<a href="/index.php/a-test-page">a test page</a>
验证URL是否正确的最好方法是,在博客内定位到某篇文章,然后将URL与WordPress生成的众多链接中你所需要的那一个进行对比。
数据库中的存档
- 年:<a href="/index.php/archives/2006">2006</a>
- 月:<a href="/index.php/archives/2006/01/">Jan 2006</a>
- 日: <a href="/index.php/archives/2006/01/01/">Jan 1, 2006</a>
外部链接
永久链接结构应该以斜线开始,表示链接固定在网站URL的底部。用户可以将协议和服务器名称放在以斜线开始的任何链接前,这样可建立完整URL。
例如,以下类别链接
<a href="/index.php/categories/parent_category/sub_category/">subcategory link</a>
成为使用完整URL的类别链接
<a href="http://example.com/index.php/categories/parent_category/sub_category/">subcategory link</a>
结合链接与模板标签
用户可以将页眉、页脚或侧边栏中的链接自定义组合成链接类型。以下示例将链接到两个类别、主索引页、一篇文章、一个静态页面,示例还使用了Pages模板标签。
注意wp_list_pages()模板标签生成属于自己的列表项(LI),因此该模板标签无需被LI标签包装。wp_list_pages()模板标签被设置为只列出父级页面而不显示子页面。
<ul id="linklist"> <li> <?php _e('Check It Out'); ?> <ul id="pageslist"> <li> <a title="Home Page" href="index.php">Home</a> </li> <li> <a title="Blog" href="index.php?cat=7">Blog</a> </li> <li> <a title="Life Story" href="index.php?p=12">My Life Story</a> </li> <?php wp_list_pages('exclude=4&depth=1&sort_column=menu_order&title_li='); ?> <li> <a title="Links and Resources" href="index.php?cat=33">Links</a> </li> <li> <a title="Site Map" href="sitemap.php">Site Map</a> </li> </ul> </li> </ul>
通过这样的自定义列表,用户可以加入CSS类来改变链接的外观, 还可以制作整个版块的样式。一切都取决于用户。
绝对链接VS.相对链接
绝对链接定义了链接目标的完整地址。
相对链接定义了与当前文件相关的另一个文件的地址。
绝对链接示例
表格的完整URLhttp://example.com/wordpress/index.php是绝对链接。
绝对链接也可以指向用户自己的服务器。当绝对链接指向用户服务器时,可以省略前缀 http://domain.com,然后用完整路径链接到目标:
/wordpress/index.php
起始斜线表示“该域名顶端的目录名称为wordpress,目录内有一个名为index.php的文件”。
在
http://example.com/wordpress/index.php
中有一个文件,文件中含有表格的链接:
/wordpress/index.php
点击以上链接,访问者将被导向到:
http://example.com/wordpress/index.php
相对链接示例
相对链接不以斜线开始:
wordpress/index.php
没有起始斜线,这表示“当前目录下有一个名为wordpress的子目录,子目录中有个文件,文件名称为index.php”。
在
http://example.com/wordpress/index.php
中有一个文件,文件中含有表格的链接:
wordpress/index.php
点击以上链接,访问者将被导向到:
http://example.com/wordpress/wordpress/index.php
下面我们来观察以下示例中我们编辑的是博客的哪个版块:
http://example.org/blog/2009/01/04/nurds-on-the-loose
我们可以生成以下链接:
- <a href="../01/happy-new-year">New Years Announcement</a>
- <a href="../../01/01/happy-new-year">New Years Announcement</a>
- <a href="../../../2009/01/01/happy-new-year">New Year's Announcement</a>
- <a href="../../../2008/12/25/merry-christmas">Christmas Announcement</a>
注意,点击1,2,3会进入同一个链接。而4没有快捷方式,只能逐步推移到前一年。
以上链接都是相对链接,因此不必绑定任何非必要信息,这样同时还有利于博客的可移植性,方便用户将博客导出到别的网站。(通过管理栏选择其他永久链接结构会造成怎样的后果,目前还无法预知)
尽管如此,以上示例均假定所浏览的是某一篇文章。但事实上如果是在存档中浏览这篇文章,所有假定地址都将是错误的!因此无论相对链接有多灵活,无法进行选择都是它的致命缺点。
关于绝对链接和相对链接的更多信息请查看WebReference Tutorial on Absolute and Relative Links。
模板中的动态链接
无论是否使用永久链接都可以在模板中动态链接到页面或文章,只需要将文章的数字编号(在管理界面的页面中可见)改为 <a href="<?php echo get_permalink(ID); ?>">This is a link</a>。(如 模板标签-get_permalink()所示)
这是一种创建页面菜单的快捷方法,编号不会发生变化,这样用户就可以在不破坏链接的情况下改变页面的别名。不过可能会增加数据库查询次数。
也可以利用 wp_list_pages的child_of参数或其他可用插件来创建动态页面菜单。
RSS
似乎只有完全符合标准的链接才能在RSS阅读环境中运行。
相关资源
分类:中文手册