WordPress友情链接调用代码详解

来自:素雅营销研究院

头像 方知笔记
2025年03月27日 21:38

在WordPress网站建设中,友情链接是增加网站互动性和SEO权重的重要元素。本文将详细介绍几种常用的WordPress友情链接调用代码,帮助您灵活地在主题中展示友情链接。

一、使用默认友情链接功能

WordPress自带友情链接管理功能(Links),但需要先启用:

// 在主题的functions.php中添加
add_filter('pre_option_link_manager_enabled', '__return_true');

启用后,可以在后台”链接”菜单中添加和管理友情链接。

调用代码:

<?php wp_list_bookmarks(); ?>

常用参数:

<?php
wp_list_bookmarks(array(
'title_li'     => '友情链接', // 列表标题
'orderby'      => 'name',     // 按名称排序
'order'        => 'ASC',      // 升序排列
'limit'        => 10,         // 显示数量
'category'     => '2',        // 指定分类ID
'show_images'  => true,       // 显示图片
'show_name'    => true        // 显示名称
));
?>

二、使用自定义菜单调用友情链接

  1. 在后台”外观 > 菜单”中创建自定义菜单
  2. 添加自定义链接作为菜单项
  3. 在主题中使用以下代码调用:
<?php wp_nav_menu(array('menu' => '友情链接菜单')); ?>

三、使用小工具调用友情链接

WordPress提供了”链接”小工具,可以直接拖拽到侧边栏或其他小工具区域使用。

如需自定义小工具代码:

<?php if (is_active_sidebar('links_widget')) : ?>
<div class="friend-links">
<?php dynamic_sidebar('links_widget'); ?>
</div>
<?php endif; ?>

四、高级自定义查询方法

如果需要更灵活的调用方式,可以使用WP_Query:

<?php
$args = array(
'post_type' => 'link',
'tax_query' => array(
array(
'taxonomy' => 'link_category',
'field'    => 'term_id',
'terms'    => array(2), // 分类ID
),
),
);

$links_query = new WP_Query($args);

if ($links_query->have_posts()) :
echo '<ul class="friend-links-list">';
while ($links_query->have_posts()) : $links_query->the_post();
$link_url = get_post_meta(get_the_ID(), '_link_url', true);
$link_name = get_the_title();
echo '<li><a href="'.esc_url($link_url).'" target="_blank">'.$link_name.'</a></li>';
endwhile;
echo '</ul>';
wp_reset_postdata();
endif;
?>

五、按分类分组显示友情链接

<?php
$link_cats = get_terms('link_category');
foreach ($link_cats as $link_cat) :
echo '<h3>'.$link_cat->name.'</h3>';
echo '<ul>';
$links = get_bookmarks(array('category' => $link_cat->term_id));
foreach ($links as $link) {
echo '<li><a href="'.$link->link_url.'" title="'.$link->link_description.'" target="_blank">'.$link->link_name.'</a></li>';
}
echo '</ul>';
endforeach;
?>

六、添加友情链接图片

如果友情链接包含图片:

<?php
$links = get_bookmarks();
foreach ($links as $link) {
if ($link->link_image) {
echo '<a href="'.$link->link_url.'" title="'.$link->link_description.'" target="_blank"><img src="'.$link->link_image.'" alt="'.$link->link_name.'" /></a>';
} else {
echo '<a href="'.$link->link_url.'" title="'.$link->link_description.'" target="_blank">'.$link->link_name.'</a>';
}
}
?>

注意事项

  1. 安全性:所有输出都要使用esc_url()和esc_html()等函数进行转义
  2. 性能:大量友情链接应考虑缓存或分页显示
  3. SEO:合理使用nofollow属性控制权重传递
  4. 移动端适配:确保友情链接在不同设备上显示正常

以上代码可以根据实际需求进行调整,建议添加到主题的sidebar.php、footer.php或专门的模板文件中。如需更复杂的功能,可以考虑开发自定义小工具或使用专门的友情链接插件。