内容链接

1条评论

内容链接

在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  

我们可以生成以下链接:

  1. <a href="../01/happy-new-year">New Years Announcement</a>
  2. <a href="../../01/01/happy-new-year">New Years Announcement</a>
  3. <a href="../../../2009/01/01/happy-new-year">New Year's Announcement</a>
  4. <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阅读环境中运行。

相关资源

#1
发外链:http://www.xuezuowangzhan.com/