详解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 相关文章推荐
截获网站title标签之家内容的例子
Oct 09 PHP
php设计模式 Bridge (桥接模式)
Jun 26 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
Dec 21 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
laravel 时间格式转时间戳的例子
Oct 11 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
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
php实现的CSS更新类实例
2014/09/22 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
PHP实现简单的计算器
2020/08/28 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
Python守护进程(daemon)代码实例
2015/03/06 Python
Python对列表排序的方法实例分析
2015/05/16 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
业务助理岗位职责
2013/11/18 职场文书
社区端午节活动方案
2014/01/28 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android
Elasticsearch 数据类型及管理
2022/04/19 Python
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS