一直以来都想弄一个友情链接页面,但是WordPress 将链接功能隐藏了,虽然搞不明白为啥要隐藏。
在WP后台搜索关于链接的插件发现要么不可用要么很多年无人维护,难道链接功能被摒弃了。
百度WordPress友情链接,发现可以使用小工具实现,但小工具比较受局限,还有一种方式是使用代码复活链接功能。
百度搜集了一些关于复活WordPress链接功能的代码,感觉可以尝试。
第一步、复活链接
在主题 functions.php文件没添加下方代码即可复活链接功能。
// 复活链接
add_filter('pre_option_link_manager_enabled', '__return_true');
第二步、创建链接页面模板
主要用到get_terms() 获取分类、get_bookmarks()获取链接两个方法,具体实现可参考我的代码。
模板文件代码参考:
<?php
// https://feng.pub/links
// 获取友情链接分类
$cats = get_terms(
array(
'taxonomy' => 'link_category'
)
);
if ( empty( $cats ) ) {
// 没有分类信息
}else {
// 有分类信息
foreach ( (array) $cats as $cat ) {
$params = array_merge( $parsed_args, array( 'category' => $cat->term_id ) );
$bookmarks = get_bookmarks( $params );
if ( empty( $bookmarks ) ) {
continue;
}
// 分类名称
$catname = apply_filters( 'link_category', $cat->name );
?>
<div class="linkcat" id="linkcat-<?php echo $cat->term_id ?>">
<h5><?php echo $catname ?> <span>随机排序</span></h5>
</div>
<div class="linklist">
<?php
// var_dump($bookmarks);
foreach ($bookmarks as $bookmark) {
?>
<div class="linkcard" id="link-<?php echo $bookmark->link_id ?>">
<div class="linkcard-o">
<div class="linkimg">
<a href="<?php echo $bookmark->link_url ?>" title="<?php echo $bookmark->link_name ?>" target="_blank">
<img src="<?php echo $bookmark->link_image ?>" alt="<?php echo $bookmark->link_name ?>" />
</a>
</div>
<h6 class="linktitle">
<a href="<?php echo $bookmark->link_url ?>" title="<?php echo $bookmark->link_name ?>" target="_blank"><?php echo $bookmark->link_name ?></a>
</h6>
<div class="linkdesc">
<p>
<?php echo $bookmark->link_description ?>
</p>
</div>
<div class="linkmark">
<?php echo $bookmark->link_notes ?>
</div>
</div>
</div>
<?php
}
echo '</div>';
}
}
?>