內容簡介
Taxonomy Thumbnail 是一款開發者導向的外掛,可為分類法項目(taxonomy terms)加入縮圖功能,提供完整的管理介面與模板標籤函式,方便在前台顯示分類縮圖。
【主要功能】
• 為任意分類法項目新增或編輯縮圖
• 分類列表頁顯示縮圖欄位一覽
• 採用 WordPress 新版媒體視窗選取圖片
• 支援無 JavaScript 環境正常運作
• 提供多組模板標籤函式供前台調用
• 可透過篩選器自訂啟用縮圖的分類法
外掛標籤
開發者團隊
📦 歷史版本下載
原文外掛簡介
This plugin is meant for developers, it allows to attach a thumbnail to taxonomy terms.
UI for setting the thumbnails
The thumbnail can be added on term creation or later on the term edition page.
The terms list has a column displaying the current thumbnail (so far, no specific action here).
The plugin uses the “new” media window (the one used since WP 3.5), not the old thickbox.
I made some extra efforts to enhance accessibility. I’m not an a11y expert but the UI is not only a “Add thumbnail” button. For instance, the new wp.a11y.speak() is used when available. Please give me feedback if you think it can be improved.
Works with or without JavaScript.
If JavaScript is enabled, thumbnails are set via ajax in the term edition window, no need to update the term.
By default, the UI is displayed for all public taxonomies, but this can be filtered that way:
add_filter( 'sftth_taxonomies', 'my_taxonomies_with_thumbnail' );
function my_taxonomies_with_thumbnail( $taxonomies ) {
unset( $taxonomies['post_tag'] );
$taxonomies['my_custom_tax'] = 'my_custom_tax';
return $taxonomies;
}
Template tags
Find them in inc/template-tags.php.
Important note: for WP 4.4+, these functions use term_id. For WP < 4.4, they use term_taxonomy_id.
I tried to mimic the post thumbnail functions:
get_term_thumbnail_id( $term_id ): Retrieve term thumbnail ID.
has_term_thumbnail( $term_id ): Check if a term has a thumbnail attached to it.
the_term_thumbnail( $term_id, $size = 'post-thumbnail', $attr = '' ): Display the term thumbnail.
get_term_thumbnail( $term_id, $size = 'post-thumbnail', $attr = '' ): Retrieve the term thumbnail.
set_term_thumbnail( $term_id, $thumbnail_id ): Set a term thumbnail.
delete_term_thumbnail( $term_id ): Detach a thumbnail from a term.
Store the data
From WordPress 4.4, the term metas API is used.
Below WordPress 4.4, there are two ways to store the thumbnail IDs:
Use term metas with the plugin Meta for Taxonomies.
Use an option (an array association of term_taxonomy_id => thumbnail_id integers). The option name can be customized by defining the constant SFTTH_OPTION_NAME in wp-config.php.
Get terms
Use get_terms() with a specific parameter to retrieve only terms with a thumbnail:
$terms = get_terms( array(
'with_thumbnail' => true,
) );
From WordPress 4.4, you can also use a small helper to build your meta query:
$terms = get_terms( array(
'meta_query' => array(
'relation' => 'AND',
array(
// Any meta query.
),
sftth_meta_query(),
),
) );
Below WordPress 4.4, if you use the plugin Meta for Taxonomies, you should always cache thumbnails.
When using 'with_thumbnail' => false you will retrieve all terms, even those without a thumbnail, but the thumbnails will be cached, saving calls to the database later:
$terms = get_terms( array(
'with_thumbnail' => false,
) );
Uninstall
When uninstalling the plugin, you can decide to not delete the thumbnails, simply define a constant in wp-config.php:
define( 'SFTTH_KEEP_DATA', true );
Translations
US English
French
Requirements
Should work starting from WP 3.5, but tested only in WP 4.2.2+ so far.
Credits
Photo used for the banner by Nicolas Janik (CC BY 2.0).
