如何给WordPress添加友情链接页面并自动获取网站favicon.ico图标?

我曾经给表白驿站更换过几次主题,每次更换都会把网站的一些功能弄丢,就拿友情链接来说,我已经快一年没有过问了,今天终于再次给表白驿站加上了友情链接功能,顺便把教程分享给大家

絮语

友情链接是外链的一种,我们都知道外链的作用是引蜘蛛传递权重,那么友情链接更是如此。给网站添加友链可以增加网站间的互访活动,如果与流量高的网站交换友情链接还可以给网站带来一定的流量。

教程开始

最终效果如下,也可以点击这里查看效果:QQ截图20170616012106
开始之前先补充一下,wordpress4.7以后的版本后台默认是没有链接管理菜单的,需要我们自己动手代码实现,将下面的这句代码添加到主题的functions.php里即可,

1
add_filter('pre_option_link_manager_enabled','__return_true');

注意:一定要在 ?> 前添加上述代码。如果报错,请把标点符号改成英文标点符号。这样一来,后台立即显示出了链链接管理菜单。

1.准备一张64×64像素的图片作为没有 favicon.ico 的网站默认 ico,把图片上传到主题的 images 目录下,这里我用图片 default.gif 来做个例子。

2.复制一份主题的 page.php,改名为 page-links.php,各主题的页面模板php文件命名规则不一定都一样,这里因主题而异
3.先把 page-links.php 的头部注释申明部分改一下,否则识别不出来,这里也因主题而异,具体可以对比多个模板文件的格式修改7`7BBKWOWB`8J)5}H34BIIO

4. 在 page-links.php 找到文章内容输出函数 ,在其下面加入下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
	$bookmarks = get_bookmarks();
	if ( !empty($bookmarks) ){
		echo '<ul class="link-content clearfix">';
		foreach ($bookmarks as $bookmark) {
			echo '<li><a href="' . $bookmark->link_url . '" title="' . $bookmark->link_description . '" target="_blank" >';
			$url = $bookmark->link_url . "/favicon.ico";
			if( @fopen( $url, 'r' ) )//判断网站ico是否存在,须配置php.ini开启allow_url_fopen,否则会报错
			{ 
				echo '<img src="'. $bookmark->link_url . '/favicon.ico"/>';
			} 
			else{
				echo '<img src="/images/default.gif" height="64px"/>';
			}
			echo '<span class="sitename">'. $bookmark->link_name .'</span></a></li>';
		}
		echo '</ul>';
	}
	?>

保存文件 page-links.php 并上传到主题根目录page目录(因主题而异),
5.接下来给class属性link-content定义css样式,否者的话排版挺糟糕的,以下代码可以供你参考一下:

1
2
3
4
5
6
/*友情链接页面样式*/
.link-content li{float:left;text-align: center;width: 100px;font-size:12px;margin-bottom:10px}
.link-content li img{width:64px;height:64px;border-radius:100%;margin-bottom:5px;transition:0.5s;-webkit-transtion:0.5s}
.link-content li span{display:block}
.link-content li:hover img{transform:rotate(360deg);-webkit-transform:rotate(360deg);}
.link-content {list-style:none !important;}

6.后台新建一个页面,选择模板为 links 即可,之后就可以告功了,访问一下,我们在链接里添加的网址连着ico图标一起被显示出来了

延伸阅读

1.wordpress后台没有链接管理如何添加友链?
2.WordPress友情链接 wp_list_bookmarks() 函数用法详解

发表一条评论:

电子邮件地址不会被公开。 必填项已用*标注