如何将缩略图添加到 WordPress 类别和标签
有时,如果我们能够在类别或标签旁边显示图像,WordPress 网站看起来会好很多。例如,我们可能会在“CSS”类别中添加一张关于 CSS 的图片,或者在“HTML”类别中添加 HTML5 徽标(如下所示)。
早在 2.9 版中,WordPress 就添加了为帖子、页面以及自定义帖子类型添加图像缩略图(后来更名为特色图片)的功能。此图像缩略图功能不包括 Category、Tag 和Custom Taxonomy,即使是更高版本(可能 Custom Taxonomy 除外,可能在 WordPress 4.4 中。)
感谢这个 WordPress 提示和分类缩略图插件,我们可以对我们的帖子类别和标签执行此操作。让我们看看如何使用几行代码来完成此操作。
入门
首先,在您的 WordPress 站点中部署此插件。您可以通过Plugins > Add New或通过 FTP安装插件。激活插件后,转到Post > Categories。现在,您应该能够找到“设置缩略图”按钮。
单击此按钮将显示WordPress 媒体管理器。在这里您可以选择您之前上传的图像作为类别图像,或者您可以上传您的图像,自定义它,最后选择它作为类别(或标签)的图像缩略图。
该图像将显示在类别表中,使您可以查看哪个类别附加了图像类别。
模板标签
这个插件带有一些方便的模板标签来检索类似于 Post Thumbnail 模板标签的图像。这样,我们就可以轻松地检索术语的缩略图。
- get_term_thumbnail_id( $term_taxonomy_id ):获取分类术语缩略图 ID。
- has_term_thumbnail( $term_taxonomy_id ):检查分类术语是否有缩略图。
- get_term_thumbnail( $term_taxonomy_id, $size = ‘post-thumbnail’, $attr = ” ):检索分类术语缩略图。
正如您在上面看到的,这些函数需要分类 ID——类别、标签或自定义分类 ID——您可以使用该term_taxonomy_id
函数检索它们。该插件附带了一些功能,例如设置和删除缩略图,但这些现在已经足够了。
如何显示缩略图
获取条款列表
首先,我们使用该get_terms()
函数获取指定分类法的术语列表——在这种情况下,我们将从帖子类别中获取术语。
1个
2个
3个
4个
5个
6个
7
8个
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?php $taxonomy = 'category' ; $args = array ( 'orderby' => 'name' , 'order' => 'ASC' , 'hide_empty' => true, 'exclude' => array (), 'exclude_tree' => array (), 'include' => array (), 'number' => '' , 'fields' => 'all' , 'slug' => '' , 'parent' => '' , 'hierarchical' => true, 'child_of' => 0, 'childless' => false, 'get' => '' , 'name__like' => '' , 'description__like' => '' , 'pad_counts' => false, 'offset' => '' , 'search' => '' , 'cache_domain' => 'core' , ); $terms = get_terms( $taxonomy , $args ); ?> |
输出是一个数组,其中包含每个术语的信息,包括term_id
, name
, slug
, term_group
, term_taxonomy_id
,等。现在,我们需要使用循环在列表中description
显示术语,如下所示。name
foreach
1个
2个
3个
4个
5个
6个
7
8个
9
10
|
<?php if (! empty ( $terms ) && !is_wp_error( $terms ) ){ echo '<p>' . $taxonomy . ':</p>' ; echo '<ul>' ; foreach ( $terms as $term ) { echo $term ->name; } echo '</ul>' ; } ?> |
结果看起来像这样:
这里我们有 CSS、HTML、JavaScript、jQuery 和 PHP。我们已附上每个条款的相应图像(徽标或图标)。现在,我们需要知道如何显示它们。
显示缩略图
为了显示图像缩略图,我们将扩展循环foreach
,就像我们之前的代码一样。
我们添加模板标签 ,get_term_thumbnail()
以获取缩略图,我们还添加了指向术语存档页面的链接。
1个
2个
3个
4个
5个
6个
7
|
if ( ! empty ( $terms ) && ! is_wp_error( $terms ) ){ echo '<ul>' ; foreach ( $terms as $term ) { echo '<li><a href="/index.php/' . $taxonomy . '/' . $term ->slug . '">' . $term ->name . get_term_thumbnail( $term ->term_taxonomy_id, $size = 'category-thumb' , $attr = '' ) . '</a></li>' ; } echo '</ul>' ; } |
结果(添加 CSS 后)如下所示:
该插件具有选择检索所有术语或仅检索带有缩略图的术语的选项。为此,请在函数中使用以下参数get_terms()
:
1个
2个
3个
4个
5个
|
$taxonomy = 'category' ; $args = array ( 'with_thumbnail' => true, // true = retrieve terms that has thumbnail, false = retrieve all terms ); $terms = get_terms( $taxonomy , $args ); |
适用于其他分类
如前所述,您不仅可以将此插件应用于类别,还可以将其应用于其他分类法,例如Tags、Link Category和Custom Taxonomy。这个插件对于在任何分类法上启用图像缩略图很有用,就像在帖子和页面中一样。