我认为(至少部分)问题在于,您有一个嵌套循环,而实际上并不需要它。
的输出get_terms()
是对象的数组。所以$categories
应该是一个对象数组。
在此处循环遍历此对象数组:
foreach ( $categories as $category ) {
$id = $category->term_id;
$img = wp_get_attachment_image( $imgs[$id], \'thumbnail\' );
}
问题是你要关闭这个循环,然后循环
$categories
第二次:
for($i=0; $i<count($categories); $i++)
{
echo(\'<h2>\'.$categories[$i]->name.\'</h2>\');
echo($img);
echo(\'<p>\'.$categories[$i]->description.\'</p>\');
}
但问题是
$id
和
$img
将基于中的最后一个对象保留其值
$categories
.
我建议去掉第二个循环,并在原始循环中执行所有操作foreach
回路:
foreach ( $categories as $category ) {
// Set ID and IMG
$id = $category->term_id;
$img = wp_get_attachment_image( $imgs[$id], \'thumbnail\' );
// Output markup
echo(\'<h2>\'.$category->name.\'</h2>\');
echo($img);
echo(\'<p>\'.$category->description.\'</p>\');
}
这应该可以解决不同步循环的问题,尽管我不完全确定
$img
, 因为我不熟悉您使用的插件,也不知道它是如何将选项保存到数据库的。