как сделать чтоб не показывало — No categories

я пишу вывод дочерних категорий вот так:

<div id="nav">

       <li><a href="<?php echo get_settings('home'); ?>/" title="Home">Home</a></li>
       <?php if (!is_home() and !is_page()){$category = get_the_category(); wp_list_categories('orderby=ID&child_of='.$category[0]->cat_ID.'&title_li=');} ?>
        </div>

[quote]если дочерние категории есть они выводяться если нет, то выдает No categories!!! Как сделать чтоб если дочерних категорий нет то просто ничего не делала и не выводила ничего…. даже No categories не выводилось бы???[/quote]

никого нету,,, ???… Ю.Б. ….. sonika…… Max ну ребята где же вы???

А я по-ленивому пишу в category.php так:
<?php if (get_categories(‘child_of=’.$cat.’&depth=1&title_li=’)) wp_list_categories(‘child_of=’.$cat.’&depth=1&title_li=’); ?>

А я по-ленивому пишу в category.php так:
<?php if (get_categories('child_of='.$cat.'&depth=1&title_li=')) wp_list_categories('child_of='.$cat.'&depth=1&title_li='); ?>

тогда не выдает No categories???

что-то не пошло…..

    <?php if (!is_home() and !is_page()){$category = get_the_category();

              if (get_categories('child_of='.$category[0]->cat_ID)) wp_list_categories('child_of='.$category[0]->cat_ID.'&title_li=');} ?>

а теперь вообще не реагирует и не выдает дочерние……

А с какой радости ему выдавать, если get_categories возвращает точно такой же список, как и wp_list_categories, только не форматированный в html, а как массив объектов? Еще раз: это было ленивое решение. Во первых, я сомневаюсь, что title_li имеет смысл для get_categories, а во-вторых, нет резона звать два раза получение списка, можно легко вынуть всё что нужно из массива, возвращаемого get_categories. Просто мне вчера нужно было не красоту наводить, а прикинуть логику навигации по сайту.

мне No categories очень мешает!!!!… что делать???

никто этим не был занят??)))) …… какие идеи будут???

А. Решение в лоб:
1. написать запрос к БД по каунту субкатегорий в данной категории
2. В коде поставить проверку на 0 и не обращаться к функции wp_list_categories в случае нуля
Б. Повыеживаться:
1. найти код wp_list_categories,
2. заменить текст No categories на любой другой, вплоть до никакого.
С. Почитать http://codex.mywordpress.ru/index.php/Template_Tags/wp_list_categories и посмотреть, возможно Ваша проблема решается заданием нужных параметров функции?

А чем тебе не понравился мой вариант?
Вот так выводит деток (после описания перед списком записей):

А вот так выглядит категория без деток:

но ведь не показал скрипт ничего!!!!!…….

вот я показывал тебе…… что тут не так???

 <?php if (!is_home() and !is_page()){$category = get_the_category();

if (get_categories('child_of='.$category[0]->cat_ID)) wp_list_categories('child_of='.$category[0]->cat_ID.'&title_li=');} ?>

А кто его знает? Может WP у тебя не того разлива. 🙂 Вот сейчас я вставил твой код как есть в category.php (не удалять же файл из темы ради опытов) и всё номально работает.

<?php get_header(); ?>
<div id="c_content">
<div id="post_entry">
<?php if (!is_home() and !is_page()){$category = get_the_category();

if (get_categories('child_of='.$category[0]->cat_ID)) wp_list_categories('child_of='.$category[0]->cat_ID.'&title_li=');} ?>

<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>

Извини, скриншот делать обломно.

у меня вп 2.3

А у меня 2.5.1 😛

на каком вп ты проверил это?…. не выдает ошибку???

На 2.5.1. Какую ошибку? Не видел.

WP 2.3.3, Тема default, файл archive.php – не работает.
Зато сработало так:
<?php if (get_categories(‘child_of=’.$cat)) wp_list_categories(‘child_of=’.$cat.’&title_li=’); ?>

интересно а вот шас заработало))))….. спасибо!!!!…

нужна еще одна помощь в запросах…… зайти плиз на этот топик….. http://forum.maxsite.org/viewtopic.php?id=4522

Anonymous
Отправить
Ответ на: