您的代码显示它如何获取帖子,但不显示它如何获取$term
. 论合理的发展环境(WP_DEBUG
设置为TRUE
) 此代码应触发一个通知$term
此时未知。
但是,我建议使用模板功能post_class()
将帖子的相关信息显示为HTML类。(注意如何setup_postdata()
和wp_reset_postdata()
已使用。)
<?php
global $post;
foreach ( $child_pages as $post ) {
setup_postdata( $post ); ?>
<article <?php post_class();?>>
<a class="fancybox" data-fancybox-type="iframe" href="" title="<?php the_title_attribute(); ?>" >
<?php the_post_thumbnail( \'medium\' ); ?>
</a>
<h1><?php the_title(); ?></h1>
</article>
<?php
}
wp_reset_postdata();
据我所知,
post_class()
打印有关默认分类法术语的类
category
,
post_tag
和
post_format
. 我不确定自定义分类法是否如此。先看看这个!
如果不是,则此函数(在functions.php
) 将把术语作为HTML类带到post_class()
输出:
/**
* adds terms of custom taxonomies to a set of
* html classes
*
* @wp_hook post_class
* @param array $classes
* @param string $class
* @param int $post_ID
* @return array
*/
function wpse_151731_add_custom_tax_terms( $classes = array(), $class = \'\', $post_ID = 0 ) {
$terms = wp_get_post_terms( $post_ID, array( \'your_taxonomy_slug\' ) );
if ( empty( $terms ) )
return $classes;
foreach ( $terms as $t ) {
$classes[] = $t->taxonomy . \'-\' . $t->slug;
}
return $classes;
}
add_filter( \'post_class\', \'wpse_151731_add_custom_tax_terms\', 10, 3 );