Output terms to post_class()

时间:2013-07-04 作者:b0nd

我试图将附加到特定帖子的所有术语(包括自定义分类术语)输出为应用于div的CSS类,如下所示:

   <div <?php post_class(\'class-name\'); ?>></div>
所以它输出如下:

  <div class="class-name term1 term2 term3 term4"></div>
我该怎么做?谢谢

1 个回复
SO网友:s_ha_dum

最简单、最直接的方法是:

$tax_terms = get_the_terms(
  $post->ID,
  array(\'genre\')
);
$tax_terms = wp_list_pluck($tax_terms,\'slug\');
post_class(implode(\' \',$tax_terms)); 
您还可以将筛选器应用于post_class 这基本上是一样的。

function tax_classes_wpse_105386($classes) {
  global $post;
  $tax_terms = get_the_terms(
$post->ID,
array(\'genre\')
  );
  $tax_terms = wp_list_pluck($tax_terms,\'slug\');
  $classes = array_merge($classes,$tax_terms);
  return $classes;
}
add_filter(\'post_class\',\'tax_classes_wpse_105386\');
但我确信您需要更复杂的逻辑——例如,可能仅限于某些post类型。

结束

相关推荐

如何在WordPress中添加自定义css按钮作为快捷码?

如何将自定义CSS按钮添加为以下短代码:[按钮class=“mybutton1”链接=“主页”]我有来自here.myButton { -moz-box-shadow:inset 0px 1px 0px 0px #cf866c; -webkit-box-shadow:inset 0px 1px 0px 0px #cf866c; box-shadow:inset 0px 1px 0px 0px #cf866c; backgr