как показать категорию только если она не пуста

я использую следующий унаследованный код для извлечения типа сообщения 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, а затем выполните запрос. но я хочу отредактировать его, чтобы проверить и показать ЖАНР, только если есть ЖАНР. сейчас запрос показывает все категории, даже если нет данных. любая помощь будет принята с благодарностью.

0

Решение

Пожалуйста, попробуйте этот код ::

<?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>";
}
?>
2

Другие решения

Попробуйте заменить эту строку:

 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), чтобы удалить пустые элементы массива.

0

Не знаю, правильно ли я вас понимаю, но я также работаю над сайтом, на котором я хочу показывать только название категории, в которой хранятся записи. Я только что проверил это с помощью if(category_count > 0),

Ну, вы можете установить категорию и вызвать ее, используя get_categories(), цикл через это, то вы можете сделать category->count проверить на счет.

надеюсь, что это может помочь … кто-то .. 🙂

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector