wp_list_bookmarks 函数是 WordPress 提供的可以通过后台添加设置友链的一个功能,相当的方便和实用,但是最近子凡遇到一个不够完善的地方,那就是 wp_list_bookmarks 函数中 categorize 参数为 false 时,可以得到最极简的链接列表,但是与此同时就无法使用 exclude_category 参数排除链接分类目录,所以子凡就来提供一个方法。

WordPress wp_list_bookmarks

首先可能由于你使用的 WordPress 最新版本,导致 WordPress 后台根本没有“链接”管理这个菜单,这是由于 WordPress 3.5 后默认隐藏了链接管理功能,所以显示只需要你在当前主题 functions.php 文件中加入一行代码即可:

1
2
//WordPress 恢复链接管理功能
add_filter( 'pre_option_link_manager_enabled', '__return_true' );

回到正题,还是简单的说一下子凡的思路,WordPress 链接管理其实主要就是用于我们常说的友情链接来使用,而友情链接一般需要在首页展示,但是许多的情况下又并不是需要将所有链接都展现到首页,所以子凡要分享的就是如何在首页也能完全实现友链的自定义排除。

1
2
3
4
5
6
7
8
9
10
11
12
$args = array(
	'limit'			=> -1,//显示链接的数量
	'exclude_category'	=> 11,//排除链接的分类目录 ID
	'echo'			=> 0,//不输出
);
 
$op = '';
preg_match_all('/<a .*?>.*?<\/a>/', wp_list_bookmarks( $args ), $links);
foreach($links[0] as $link){
	$op .= '<li>'.$link.'</li>';
}
echo '<ul>'.$op.'</ul>';

输出代码效果:

1
<ul><li><a href="https://www.tearsnow.com" target="_blank" rel="noopener noreferrer">TearSnow 泪雪</a></li><li><a href="https://zhan.leiue.com" target="_blank" rel="noopener noreferrer">泪雪建站</a></li></ul>

好啦,就是这样啦,本代码主要用于首页的代码调用,并且需要将链接做分类,这样才能利用链接分类目录 ID 来实现排除,解决了 categorize 参数无法排除的问题,也避免了不使用 categorize 参数也能将代码精简的目的。

泪雪博客原文链接:https://zhangzifan.com/wordpress-wp_list_bookmarks.html (严禁任何转载)

发表评论
登录后参与评论
专注 WordPress 网站优化解决方案! 加入我们