• Крутил-крутил я функцию:
    wp_list_categories();
    и не получилось сделать того, чего хотелось бы.

    Цель, получить вывод категорий таким вот образом:

    <li><div><a href="/index.php?cat=3">Linux, FreeBSD (3)</a></div></li>
    Мое решение:

    $de_category = $wpdb->get_results("
                SELECT <code>count</code>, <code>term_id</code>
                FROM <code>wp_term_taxonomy</code>
                WHERE <code>count</code> > 0 AND <code>taxonomy</code> = 'category';
            ");
    	foreach ($de_category as $de_cat) {
    		$de_sql = $wpdb->get_row("
                            SELECT <code>term_id</code>, <code>name</code>
                            FROM $wpdb->terms
                            WHERE <code>term_id</code> = '$de_cat->term_id'", ARRAY_A);
    		echo "
    <li><div><a>".$de_sql['name']." (".$de_cat->count.")</a></div></li>
    ";
    	}

    Кажется мне, что это извращение и должно быть решение какое то более грамотное, через фреймворк WP, пожалуйста, помогите, я новичок как в WP, так и в ООП в целом.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Размещение блочных элементов (<div>) внутри строчных (<li>) некорректно с точки зрения стандартов 🙂

    Массив можно получить с помощью функции get_categories():
    http://codex.wordpress.org/Function_Reference/get_categories

    Эх, как красиво получилось:

    <?php $categories = get_categories(); ?>
    <div class="rmenu">
        <h1>Категорії блогу</h1>
        <ul class="lmenu">
       	<?php
    	foreach ($categories as $category) {
                echo "<li><div><a href=\"/index.php?cat=".$category->cat_ID."\">".$category->name." (".$category->count.")</a></div></li>";
    	}
    	?>
        </ul>
    </div>

    Я почему то думал, что

    • блочный :-[

    Стоит отметить, что валидация прошла успешно
    «This document was successfully checked as XHTML 1.0 Transitional!»
    This document was successfully checked as XHTML 1.0 Strict!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Да. Похоже, я ошибся — <li> не является строчным элементом.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Получить массив категорий» закрыта для новых ответов.