Update: 截至年月日WordPress 4.2-alpha-31271 (2015年1月23日),自定义分类术语的CSS类现在由WordPress core在使用时自动添加get_post_class()
.
不再需要以下代码段。
这里有一个很好的实用函数add all registered, public taxonomy terms 到post_class()
用作主题中的CSS挂钩:
/**
* Add Custom Taxonomy Terms To The Post Class
*/
add_filter( \'post_class\', \'wpse_2266_custom_taxonomy_post_class\', 10, 3 );
if ( ! function_exists(\'wpse_2266_custom_taxonomy_post_class\') ) {
function wpse_2266_custom_taxonomy_post_class($classes, $class, $ID) {
$taxonomies_args = array(
\'public\' => true,
\'_builtin\' => false,
);
$taxonomies = get_taxonomies( $taxonomies_args, \'names\', \'and\' );
$terms = get_the_terms( (int) $ID, (array) $taxonomies );
if ( ! empty( $terms ) ) {
foreach ( (array) $terms as $order => $term ) {
if ( ! in_array( $term->slug, $classes ) ) {
$classes[] = $term->slug;
}
}
}
$classes[] = \'clearfix\';
return $classes;
}
}
来自扬·法布里先前回答的灵感和荣誉
将上述代码放入主题functions.php
文件然后post_class()
在模板中使用:
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
它将输出附加到帖子的任何公共自定义分类术语,以及所有默认的帖子类。例如:
<article id="post-247" class="post-247 post-type ... status-publish hentry clearfix">
它可以轻松地处理自定义的帖子类型和分类法。