我使用以下遗留代码来提取帖子类型GENRE并在wordpress网站模板文件上显示记录。
<?php
$genre_ids = get_posts('fields=ids&posts_per_page=-1&post_status=publish&post_type=genre&order=asc&orderby=title');
$choices = array(array('text' => 'Select Genre From List', 'value' => 0 ));
foreach ( $genre_ids as $genre_id ) {
$categories[] = get_the_title( $genre_id );
}
if (!empty($categories)){
foreach ($categories as $i=>$cat) {
print "<li>";
print "<a href='" . get_site_url() . "/band-search-page/?cat=$cat'>" . $cat . "</a>";
print "</li>";
}
} else {
print "<li>";
print "no categories";
print "</li>";
}
脚本现在可以说是否有任何帖子类型GENRE然后运行查询。但我想编辑它以检查并仅在有GENRE时显示GENRE。现在,即使没有数据,查询也会显示所有类别。任何帮助将不胜感激。
答案 0 :(得分:2)
请尝试此代码::
<?php
$genre_ids = get_posts('fields=ids&posts_per_page=-1&post_status=publish&post_type=genre&order=asc&orderby=title');
$choices = array(array('text' => 'Select Genre From List', 'value' => 0));
foreach ($genre_ids as $genre_id)
{
$categories[] = get_the_title($genre_id);
}
if (!empty($categories))
{
foreach ($categories as $i => $cat)
{
if (!empty($cat))
{
print "<li>";
print "<a href='" . get_site_url() . "/band-search-page/?cat=$cat'>" . $cat . "</a>";
print "</li>";
}
}
}
else
{
print "<li>";
print "no categories";
print "</li>";
}
?>
答案 1 :(得分:0)
尝试替换此行:
print "<a href='" . get_site_url() . "/band-search-page/?cat=$cat'>" . $cat . "</a>";
使用此行
print "<a href='" . get_site_url() . "/band-search-page/?cat=$cat'>" . array_values(array_filter($cat) . "</a>";
只需添加array_filter($ cat)即可删除空数组元素。
答案 2 :(得分:0)
不知道我是否理解正确,但我也在一个网站上工作,我只想显示其中存有帖子的类别名称。我刚刚使用if(category_count > 0)
检查了它。
好吧,您可能需要设置类别并使用get_categories()
进行调用,然后循环显示该类别,然后您可以category->count
检查计数。
希望这可能会有所帮助...某人...... :)