详解WordPress中添加友情链接的方法


Posted in PHP onMay 21, 2016

友情链接对于一个每个独立博客来说可以说是必须的,有不少人选择在侧边栏加入友情链接栏目,但建立一个独立的友情链接页面也是一个不错的选择。用插件可以轻松做到这一点,但喜欢原生的我,能自己动手解决,还是自己动手解决好。折腾了一下,方法就出来了。

普通方法
建立一个友情链接页面的步骤也是比较简单的,先建立一个新的页面模板,用友链函数调用友链,再加上css美化,事情就完成了。

下面说说具体的步骤

1.建立一个新的模板页面
 复制主题中的page.php文件,重命名为links.php。
在页面的顶部加入如下代码

<?php
/*
Template Name: Links
*/
?>

再把类似下面的一段代码

<div class="post-content"><?php the_content(); ?></div>

替换为

<div class="lists"><p class="tips">站点随机排序</p><?php wp_list_bookmarks('orderby=rand&show_images=1'); ?></div>

替换后把links.php放在主题文件夹根目录,然后新建一个页面,在页面模板中选择刚建立的“Links”,保存。
解释一下上面的代码
my_list_bookmarks是WordPress调用友链的函数,orderby是友链的排序方式,这里我写的是rand,也就是随机show_images是控制是否显示友链的图片,布尔型变量,1代表显示变量,0代表不显示,其他可选参数如下:
categorize
布尔型,用于设置连接是否按照各自的分类显示category
字符串型,后面就直接 “=链接分类ID号”,那么就显示这个分类下的链接。如果没有指定的话就显示所有的链接。
category_name
字符串型,如果后面 “=某个链接分类的名称” 那么就会在该链接分类前显示分类的名称,如果这里留空的话则会显示所有链接分类的分类名称(即默认的形式)。
category_before
字符串型,位于链接分类之前的文字或代码。
category_after
字符串型,位于链接分类之后的文字或代码。
class
字符串型,每一个链接的分类都会有一个 “class” 属性(从上面的代码就能看出),默认是:linkcat
category_orderby
字符串型,链接分类的排序方式,按照名词或者ID。
‘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 后台链接设置界面下的那些参数来进行排序:
(1)'id'
(2)‘url'
(3)‘name'
(4)‘target'
(5)‘description'
(6)‘owner'
(7)‘rating'
(8)‘updated'
(9)‘rel' ? 按设定的关系排列
(10)‘notes'
(11)‘rss'
(12)‘length' ? 连接名称的长度设定
(13)‘rand' ? 随机排列显示
order
字符串型,设置升降序的排列方式
ASC (默认)
DESC
limit
整型,设置输出链接条数的最大值。默认值是”-1″,输出全部。
between
字符串型,每个连接、图片和描述之间的文字或代码,默认是 “n” 换行。
show_description
布尔型,是否允许显示每个链接的描述。
show_rating
布尔型,是否允许显示链接的等级。
show_updated
布尔型,是否允许显示最近更新后的时间戳。
hide_invisible
布尔型,是否显示所有的链接,甚至是被管理员设为不可见的链接,默认允许显示。

2.添加css美化,以下是个人的css,供大家参考

.lists {padding: 5px; margin: 25px auto auto 0;}
.linkcat {font-size: 12px; font-weight: bolder; padding: 5px; margin-bottom: 15px; list-style: none; clear:both}
.lists li h2 {font-size:14px; margin-bottom: 15px; color: #99CC33; }
.listcat ul {margin-left: 20px;}
.linkcat ul li {float: left; margin-bottom: 20px; margin-left: 20px; padding: 4px 0 4px 6px; width: 150px; border: 1px solid #d9d9d9;}
.linkcat ul li a {color: #a4a4a4; text-decoration: none;}
.linkcat ul li a img {margin-right: 3px;}
.linkcat ul li a:visited {color: #a4a4a4;}
.tips {font-size: 14px; margin-bottom: 18px; margin-left: 5px;}

使用jQuery
具体实现步骤分两步:
1.加载jQuery库,可以直接调用google jQuery库

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
2.加载jQuery功能代码,注意jQuery闭合
$(".linkpage a").each(function(e){
$(this).prepend("<img src=http://www.google.com/s2/favicons?domain="+this.href.replace(/^(http:\/\/[^\/]+).*$/, '$1').replace( 'http://', '' )+">");
});
这段jQuery的意思是遍历所有class为linkpage下所有的a标签,然后对该a标签添加img,其中是“.linkpage”需根据自己的模板更改。
PHP 相关文章推荐
用PHP实现维护文件代码
Jun 14 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
基于php权限分配的实现代码
Apr 28 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
PHP使用PDO操作sqlite数据库应用案例
Mar 07 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
TP5框架实现签到功能的方法分析
Apr 05 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 #PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 #PHP
PHP获取网站中各文章的第一张图片的代码示例
May 20 #PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 #PHP
程序员的表白神器“520”大声喊出来
May 20 #PHP
PHP性能优化大全(php.ini)
May 20 #PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 #PHP
You might like
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
js确定对象类型方法
2012/03/30 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python程序退出方式小结
2017/12/09 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
python 实现UTC时间加减的方法
2018/12/31 Python
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
酒店前厅员工辞职信
2014/01/08 职场文书
店面出租协议书范本
2014/11/28 职场文书
大学生入党群众意见书
2015/06/02 职场文书
外出听课学习心得体会
2016/01/15 职场文书
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis
「月刊Action」2022年5月号封面公开
2022/03/21 日漫