友情链接功能在 WordPress 中默认是关闭的。如何开启友情链接功能,请参考:《WordPress怎么开启友情链接功能》。
函数原型:
wp_list_bookmarks( string|array $args = '' ): void|string
显示所有的友情链接。
参数说明:
orderby,按什么排序。接受链接的所有字段:'id', 'link_id', 'name', 'link_name', 'url', 'link_url', 'visible', 'link_visible', 'rating', 'link_rating', 'owner', 'link_owner', 'updated', 'link_updated', 'notes', 'link_notes', 'description', 'link_description', 'length' and 'rand'。默认为:'name'。另外:'length' 表示按 'link_name'值的长度排序。
order,升序 ASC 或 降序 DESC,默认 ASC。
limit,-1 表示全部,1+整数表示要显示的个数。
category,以逗号分隔的类别ID列表,其中包含来自的链接。
category_name,要按名称检索链接的类别。
hide_invisible,是否显示或隐藏标记为“不可见”的链接。接受1|true或0|false。默认值1|true。
show_updated,是否显示书签上次更新的时间。接受1|true或0|false。默认值0|false。
echo,是回显还是返回格式化的书签。接受1|true(回显)或0|false(返回)。默认值1|true。
categorize,是显示按类别列出的链接,还是显示单列中的链接。接受1|true(按类别)或0|false(一列)。默认值1|true。
show_description,是否显示书签说明。接受1|true或0|false。默认值0|false。
title_li,链接出现之前要显示的内容。默认的“书签”。
title_before,要在$title_li字符串前附加的HTML或文本。默认值 <h2>。
title_after,要附加到$title_li字符串中的HTML或文本。默认</h2>。
class,用于$title_li的CSS类或类数组。默认“linkcat”。
category_before,如果$category为true,则在$title_before之前要准备的HTML或文本。字符串必须包含“%id”和“%class”,才能继承类别id和用于设置主题格式的$class参数。默认<li id=“%id”class=“%class”>。
category_after,如果$category为true,则要附加到$title_after的HTML或文本。默认</li>。
category_orderby,如果$category为true,如何根据术语方案对书签类别进行排序。默认的“名称”。
category_order,如果$category为true,则按升序还是降序排列类别。接受“ASC”(升序)或“DESC”(降序)。默认为“ASC”。
函数源码:
function wp_list_bookmarks( $args = '' ) {
$defaults = array(
'orderby' => 'name',
'order' => 'ASC',
'limit' => -1,
'category' => '',
'exclude_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>',
);
$parsed_args = wp_parse_args( $args, $defaults );
$output = '';
if ( ! is_array( $parsed_args['class'] ) ) {
$parsed_args['class'] = explode( ' ', $parsed_args['class'] );
}
$parsed_args['class'] = array_map( 'sanitize_html_class', $parsed_args['class'] );
$parsed_args['class'] = trim( implode( ' ', $parsed_args['class'] ) );
if ( $parsed_args['categorize'] ) {
$cats = get_terms(
array(
'taxonomy' => 'link_category',
'name__like' => $parsed_args['category_name'],
'include' => $parsed_args['category'],
'exclude' => $parsed_args['exclude_category'],
'orderby' => $parsed_args['category_orderby'],
'order' => $parsed_args['category_order'],
'hierarchical' => 0,
)
);
if ( empty( $cats ) ) {
$parsed_args['categorize'] = false;
}
}
if ( $parsed_args['categorize'] ) {
// Split the bookmarks into ul's for each category.
foreach ( (array) $cats as $cat ) {
$params = array_merge( $parsed_args, array( 'category' => $cat->term_id ) );
$bookmarks = get_bookmarks( $params );
if ( empty( $bookmarks ) ) {
continue;
}
$output .= str_replace(
array( '%id', '%class' ),
array( "linkcat-$cat->term_id", $parsed_args['class'] ),
$parsed_args['category_before']
);
$catname = apply_filters( 'link_category', $cat->name );
$output .= $parsed_args['title_before'];
$output .= $catname;
$output .= $parsed_args['title_after'];
$output .= "\n\t<ul class='xoxo blogroll'>\n";
$output .= _walk_bookmarks( $bookmarks, $parsed_args );
$output .= "\n\t</ul>\n";
$output .= $parsed_args['category_after'] . "\n";
}
} else {
// Output one single list using title_li for the title.
$bookmarks = get_bookmarks( $parsed_args );
if ( ! empty( $bookmarks ) ) {
if ( ! empty( $parsed_args['title_li'] ) ) {
$output .= str_replace(
array( '%id', '%class' ),
array( 'linkcat-' . $parsed_args['category'], $parsed_args['class'] ),
$parsed_args['category_before']
);
$output .= $parsed_args['title_before'];
$output .= $parsed_args['title_li'];
$output .= $parsed_args['title_after'];
$output .= "\n\t<ul class='xoxo blogroll'>\n";
$output .= _walk_bookmarks( $bookmarks, $parsed_args );
$output .= "\n\t</ul>\n";
$output .= $parsed_args['category_after'] . "\n";
} else {
$output .= _walk_bookmarks( $bookmarks, $parsed_args );
}
}
}
$html = apply_filters( 'wp_list_bookmarks', $output );
if ( $parsed_args['echo'] ) {
echo $html;
} else {
return $html;
}
}
包含钩子:
apply_filters( 'link_category', string $cat_name )
apply_filters( 'wp_list_bookmarks', string $html )
使用举例:
<?php wp_list_bookmarks('title_li=&category_before=&category_after='); ?>
-
WordPress函数:esc_attr__ 转义属性及翻译WordPress函数:esc_attr__ 转义属性及翻译
-
WordPress函数:esc_attr_e 属性转义、翻译、显示WordPress函数:esc_attr_e 属性转义、翻译、显示
-
WordPress函数:esc_attr_x 带上下文的转义属性,翻译显示WordPress函数:esc_attr_x 带上下文的转义属性,翻译显示
-
WP Multilang WordPress翻译插件WP Multilang插件的主要功能是提供多语言支持,使用户能够创建多语言版本的网站,满足不同语言用户的需求。
-
WordPress公司官网主题在众多的WordPress企业官网主题中,追格公司推出了多款关于WordPress企业官网主题作品。我们之前已经分享过一些关于追格的企业官网主题,包括收费和免费版本,这些主题都因其独特的设计和出色的功能而深受用户喜爱。
-
WordPress必备:使用wp_get_theme()函数获取当前主题详情在WordPress中,wp_get_theme() 函数用于获取当前启用的主题或指定主题的信息。这个函数返回一个 WP_Theme 对象,该对象包含了主题的详细信息,如主题名称、版本、模板目录、样式表目录等。
暂无评论,抢个沙发...