WordPress内容链接
导航: 上一页 | 首页 | WordPress中文论坛 | WordPress主机 | CMS程序 | 论坛程序 | ECShop | ShopNC | PowerEasy
在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的底部。用户可以将协议和服务器名称放在以斜线开始的任何链接前,这样可建立完整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> <a title="Blog" href="index.php?cat=7">Blog</a> < li> <a title="Life Story" href="index.php?p=12">My Life Story</a> <?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> <a title="Site Map" href="sitemap.php">Site Map</a>
通过这样的自定义列表,用户可以加入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阅读环境中运行。
相关资源 Editing Posts Plugins - Link Plugins