我整天都被这个问题所困扰,而且我一直无处可去,希望有人能提供帮助!
我正在为一家餐厅建立一个网站,该餐厅有多个位置,需要列出每个特定位置存在的每种饮料。然后需要按类别(棕色、白色、番茄、啤酒、葡萄酒)对这些饮料进行分类。我觉得我非常接近解决方案,但最近一段时间我一直在努力。
这是我的代码:
$drinks = get_posts('post_type=drinks&numberposts=-1');
$show_brown_title = false;
$show_white_title = false;
$show_tomato_title = false;
$show_wine_title = false;
$show_beer_title = false;
if ( $drinks ) {
foreach( $drinks as $drink ) {
$id = $drink->ID;
$drink_location = $drink->drink_location;
if($drink->drink_category == 'Brown' && $drink_location && in_array($site_slug, $drink_location)) {
if($show_brown_title == false) {
echo '<h4><span>Brown</span> Cocktails</h4>';
echo '<ul>';
$show_brown_title = true;
}
echo '<li>';
echo '<span class="drink_title">'.$drink->post_title.'</span>';
echo '<span class="drink_ingredients">'.$drink->drink_ingredients.'</span>';
echo '<span class="drink_price">'.$drink->price_oz.'</span>';
echo '</li>';
}
if($drink->drink_category == 'White' && $drink_location && in_array($site_slug, $drink_location)) {
if($show_white_title == false) {
echo '<h4><span>White</span> Cocktails</h4>';
echo '<ul>';
$show_white_title = true;
}
echo '<li>';
echo '<span class="drink_title">'.$drink->post_title.'</span>';
echo '<span class="drink_ingredients">'.$drink->drink_ingredients.'</span>';
echo '<span class="drink_price">'.$drink->price_oz.'</span>';
echo '</li>';
}
}
}
在大多数情况下,这是可行的。但是,我遇到了两个问题。
- 完成每个类别后,我无法弄清楚如何关闭无序列表。
- 这在很大程度上是按类别分组的,但是,如果我以后有一杯饮料,它实际上不会将其归入正确的类别,它只会归入底部的任何类别。我不确定这是因为我没有关闭无序列表,还是因为从 WP 中拉出帖子的顺序。
如果我解释得很好,请告诉我,我非常感谢你们提供的任何帮助!
Z