我正在使用Taxonomy Images 在我的纳税条款旁边输出缩略图的插件。
我正在使用get_term_children
在foreach循环中拉出术语,在子foreach循环中拉出缩略图。
一切正常,只是图像打印了两次。我一定是把其中一个/两个循环都弄错了。
有人看到任何明显的foreach问题吗?
<?php
$termID = 10;
$taxonomyName = "tool";
$termchildren = get_term_children( $termID, $taxonomyName );
$termThumbs = apply_filters( \'taxonomy-images-get-terms\', \'\', array(\'taxonomy\'=> \'tool\'));
echo \'<ul>\';
foreach ($termchildren as $child) {
$term = get_term_by( \'id\', $child, $taxonomyName );
echo \'<li>\';
echo wp_get_attachment_image( $termThumb->image_id, \'thumb\' ) ;
if ( ! empty( $termThumbs ) ) {
foreach( $termThumbs as $termThumb ) {
print wp_get_attachment_image( $termThumb->image_id, \'thumb\' ) ;
}
}
echo \'<a href="\' . get_term_link( $term->name, $taxonomyName ) . \'">\' . $term->name . \'</a>\';
echo \'</li>\';
}
echo \'</ul>\';
?>
屏幕截图:
http://cl.ly/1y2q2J0S0m3x0e0T0N1D
SO网友:Stephen Harris
1). 在您的foreach
您首先拥有的(术语子)循环:
echo wp_get_attachment_image( $termThumb->image_id, \'thumb\' ) ;
但是
$termThumb
尚未设置。所以在第一次迭代中,它什么都不做。
2) 那你还有一个foreach
回路:
if ( ! empty( $termThumbs ) ) {
foreach( $termThumbs as $termThumb ) {
print wp_get_attachment_image( $termThumb->image_id, \'thumb\' ) ;
}
}
在哪里
$termThumbs
是(大概)术语缩略图对象的数组。所以你可以打印每个学期的缩略图。
然后在foreach
(即下一个学期的孩子)$termThumb
现在设置为$termThumbs
大堆等等(1) 现在设置了术语,因此在执行之前,会打印该对象的缩略图(2) 再次显示所有缩略图。