如何制作wordpress友情链接独立页面?之前百度了很多次,看了不少文章,这里我也把制作的过程总结下:
开启友情链接功能
在主题functions.php添加代码,开启链接功能
/* 打开友情链接*/ add_filter('pre_option_link_manager_enabled', '__return_true');
添加友情链接页面
一般WordPress主题都会有一个默认页面page.php,这里我们需要做的就是复制page.php改名为page-links.php,这个就是我们的友情链接页面,修改模板名称:
<?php /* Template Name: 友情链接 */ ?>
输出链接内容
找到page-links.php中的 the_content() 代码,再下面添加输出链接的代码:如果不需要内容可以直接删除 the_content()
<!-- 友情链接 --> <div class="page-links"><?php function get_the_link_items($id = null){ $bookmarks = get_bookmarks('orderby=date&category=' . $id); $default_ico = 'https://s.w.org/favicon.ico?2'; $output = ''; if (!empty($bookmarks)) { $output .= '<ul>'; foreach ($bookmarks as $bookmark) { $output .= '<li><img src="' . $bookmark->link_url . '/favicon.ico" onerror="javascript:this.src=\'' . $default_ico . '\'" /><a href="' . $bookmark->link_url . '" title="' . $bookmark->link_description . '" target="_blank" >' . $bookmark->link_name . '</a></li>'; } $output .= '</ul><div class="clear"></div>'; } return $output; } $linkcats = get_terms('link_category'); if (!empty($linkcats)) { foreach ($linkcats as $linkcat) { $result .= '<h3>' . $linkcat->name . '</h3>'; if ($linkcat->description) $result .= '<blockquote>' . $linkcat->description . '</blockquote>'; $result .= get_the_link_items($linkcat->term_id); } } else { $result = get_the_link_items(); } echo $result; ?> </div>
如果需要修改更多的书签内容可参照下面格式进行修改
具体的书签含义
category:字符串型,后面就直接 “=链接分类ID号”,那么就显示这个分类下的链接。如果没有指定的话就显示所有的链接。
category_name:字符串型,如果后面 “=某个链接分类的名称” 那么就会在该链接分类前显示分类的名称,如果这里留空的话则会显示所有链接分类的分类名称(即默认的形式)。
category_before:字符串型,位于链接分类之前的文字或代码。默认的设置是:
category_after:字符串型,位于链接分类之后的文字或代码。默认的设置是:
class:字符串型,每一个链接的分类都会有一个 “class” 属性(从上面的代码就能看出),默认是:linkcat
category_orderby:字符串型,链接分类的排序方式,按照名称(name)或者ID。
category_order:字符串型,链接分类的升序(ASC,默认)降序(DESC)显示方式。
title_li:字符串型,链接标题的头文字或代码,默认是:Bookmarks,并且它控制连接是否按照列表的方式排列。
title_before 和 title_after:顾名思义,它们就是连接标题头前后的文字或代码,默认是 h2 标签
show_private:布尔型,是否显示私有链接。
include:字符串型,输出指定 ID 的 Blogroll 的分类链接,各个 ID 之间用半角的 “,” 分开。默认显示所有的 Blogroll 分类。
exclude:字符串型,将指定 ID 的 Blogroll 分类链接从整个链接列表中排除,各个 ID 之间用半角的 “,” 分开。默认是什么都不排除。
orderby:字符串型,Blogroll 的排列方式(默认是根据名称排序,除非将这个值留空),即根据我们在 WP 后台链接设置界面下的那些参数来进行排序:
limit:整型,设置输出链接条数的最大值。默认值是”-1″,输出全部。
between:字符串型,每个连接、图片和描述之间的文字或代码,默认是 “n” 换行。
show_images:布尔型,是否允许显示 Blogroll 下链接的对应图片。
show_description:布尔型,是否允许显示每个链接的描述。
show_rating:布尔型,是否允许显示链接的等级。
show_updated:布尔型,是否允许显示最近更新后的时间戳。
hide_invisible:布尔型,是否显示所有的链接,甚至是被管理员设为不可见的链接,默认允许显示。
理解这些参数的用途之后,就可以十分灵活的调用链接, 只需要再用CSS美化一下显示结果。
以上可以获取链接分类下的所有链接,如果无分类,则输出所有链接
css代码
/* 友情链接 */ .page-links{overflow:hidden;margin:0 0 18px;padding:0;} .page-links a{color:#555;text-decoration:none;} .page-links a:hover{color:#069;text-decoration:none;} .page-links ul{margin:0;padding:0;} .page-links ul li{ float:left; width:250px; line-height:16px; height:20px; margin:0 10px 10px 0; padding:8px; list-style-type:none; border:1px solid #ddd; } .page-links ul li:hover{background:#f2f2f2;} .page-links ul li img{width:16px;height:16px;margin:0 5px -2px 0;padding:0;border:none;}
好了,经过以上几步,友情链接独立页面就完成了。