跳至正文

如何将缩略图添加到 WordPress 类别和标签

如何将缩略图添加到 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显示术语,如下所示。nameforeach

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);

适用于其他分类

如前所述,您不仅可以将此插件应用于类别,还可以将其应用于其他分类法,例如TagsLink CategoryCustom Taxonomy这个插件对于在任何分类法上启用图像缩略图很有用,就像在帖子和页面中一样。

标签: