WordPress真正代码实现友情链接只在首页显示

对于连长来说,wordpress还是相对陌生的。因为之前一直接触的是帝国(ECMS),现在想做博客,还是会想到用全球用户量最大的博客系统WordPress。刚开始使用,基本都是靠百度来解决使用过程中遇到的问题。

今天碰到的就是原生WordPress添加友情链接代码,竟会在所有页面都会显示(通常友链只在首页显示)。就在网上搜一番,结果给的代码全都不行。最后自己摸索后,还是实现了,以下附方法:

首先是用插件实现友情链接

Link manager是一个非常适合管理友情链接的插件,有的主题是自带的,如果没有自带的友情链接管理功能,可以使用这个插件,此插件的应用非常广泛,其调用的函数是wp_list_bookmarks。

wp_list_bookmarks函数介绍

wp_list_bookmarks这个函数又是比较强大的一个WP标签。wp_list_bookmarks 这个函数也是为Blogroll服务的,它有很多参数,参数和参数之前用”;”分隔。

'orderby' => 'name'
'order' => 'ASC'
'limit' => -1
'category' => ''
'category_name' => ''
'hide_invisible' => 1
'show_updated' => 0
'echo' => 1
'categorize' => 1
'title_li' => __('Bookmarks')
'title_before' => '<h2>'
'title_after' => '</h2>'
'category_orderby' => 'name'
'category_order' => 'ASC'
'class' => 'linkcat'
'category_before' => '<li id="%id" class="%class">'
'category_after' => '</li>'

categorize
布尔型,用于设置连接是否按照各自的分类显示:
1 (默认,根据链接的分类显示)
0 (不按照分类,显示全部)

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
布尔型,是否显示私有链接。
1 (是)
0 (不是 – 默认)

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_images
布尔型,是否允许显示 Blogroll 下链接的对应图片。
1 (允许 – 默认)
0 (不允许)

show_description
布尔型,是否允许显示每个链接的描述。
1 (允许)
0 (不允许 – 默认)

show_rating
布尔型,是否允许显示链接的等级。
1 (允许)
0 (不允许 – 默认)

show_updated
布尔型,是否允许显示最近更新后的时间戳。
1 (允许)
0 (不允许 – 默认)

hide_invisible
布尔型,是否显示所有的链接,甚至是被管理员设为不可见的链接,默认允许显示。
1 (允许 – 默认)
0 (不允许)

小工具实现友情链接的显示

Widget Logic 插件给每个后台小工具一个扩展选项,可以通过它根据不同页面自定义你的侧边栏内容,如果你的友情链接是处于小工具内,就可以通过此插件来对是否显示进行控制。使用的方法如下。

Widget Logic 插件使用方法
1.安装插件:博客后台——插件——搜索Widget Logic——安装并激活
2.插件设置:外观—小工具 小工具的下面会多出一个Widget Logic的扩展项 如果需要设置友链只在首页显示,在输入框输入“is_home()&&!is_paged()”即可。一下是一些命令;
Widget Logic插件常用的参数值
is_home() 只在主页显示
is_single() 只在文章页显示
is_page() 只在页面显示
is_category() 只在文章分类页显示
is_tag() 只在文章标签页显示
is_archive() 只在归档页显示
is_404() 只在404页显示
is_search() 只在搜索结果页显示
is_feed() 只在订阅页显示
Widget Logic插件还有一些语法
||表示或,&&表示和,!表示非,示例语言如下:
is_home() 仅主页显示
!is_home() 除主页以外的页面显示
!is_category(5) 仅在ID非5的分类显示
is_home() || is_category(’baked-goods’) 在主页或名称为baked-goods的分类显示
is_page(’about’) 仅在关于页显示

如果是直接调用友情链接函数实现,在footer.php等文件中进行控制,那么可以使用以下方法来进行控制。在function.php中添加以下代码

//开启wordpress友情链接管理并显示首页

function rbt_friend_links($output){
if (!is_home()|| is_paged()){
$output = “”;
}
return $output;
}
add_filter(‘wp_list_bookmarks’,’rbt_friend_links’);
add_filter( ‘pre_option_link_manager_enabled’, ‘__return_true’ );

为您推荐

发表评论

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