Taxonomy Thumbnail Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
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 constantSFTTH_OPTION_NAME
inwp-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).