WordPress тема “Каталог статей” (Article Directory)

Внимание! Дальнейшая разработка и поддержка плагина и темы “Article Directory” остановлена.

Скриншот темы "Article Directory" Представляю вашему вниманию тему (шаблон) для WordPress “Article Directory”, предназначенную для использования с моим одноименным плагином “Article Directory”.

Хочется отметить, что идейным вдохновителем реализации на движке WordPress каталога статей стал буржуйский каталог статей ArticleDashBoard.com. Поэтому при создании темы в части визуального представлении информации на страницах разного типа я ориентировался именно на данный каталог.

Особенности шаблона “Article Directory”

  • Шаблон “Article Directory” предназначена для работы с WordPress, начиная с версии 2.9 и выше.
  • Статистика по общему количеству опубликованных статей и числу зарегистрированных авторов.
  • На главной странице выводится список самых последних статей. По умолчанию 30 заголовков. Цифру можно сменить в файле темы index.php.
  • Наличие у каждого автора страницы с информацией о нем и списком опубликованных им статей. Информация об авторе также отображается на странице отдельной статьи.
  • На страницах рубрик, в архивах и результатах поиска выводятся так называемые “Хлебные крошки”.
  • На странице рубрики выводится список подрубрик (или “соседних” подрубрик) и список статей текущей рубрики в виде заголовка с анонсом.
  • Реализована возможность сортировки списка статей на странице текущей рубрики. Предусмотрены 3 варианта сортировки: “По заголовку”, “Самые новые” (по умолчанию”) и “Самые старые”. Аналогичная возможность сортировки присутствует и на странице автора.
  • Страница с конкретной статьей содержит список других статей из той же самой рубрики. Можно задать количество заголовков в этом списке, указав нужную цифру в параметре posts_per_page в файле темы single.php.
  • Постраничная навигация без использования плагинов.
  • Список топ авторов.
  • Поддержка виджетов.
  • Поддержка локализации.

Внимание! Плагин “Article Directory” обязателен, если вы хотите создать полноценный каталог статей на WordPress.

Скачать

Тема (шаблон) для WordPress “Article Directory” (Каталог статей)

Версия: 1.7.1 | Загрузок: 6040 | Последнее обновление: 12.09.2010

История версий

Версия 1.7.1 (12.09.2010)

  • Добавлены CSS стили для редактора TinyMCE и HTML-редактора в панели автора.
  • Форма авторизации сделана в виде функции, которая подключается из плагина “Article Directory”.

Версия 1.7 (06.09.2010)

  • Множество различных изменений в дизайне.
  • Добавлены виджеты “Топ авторов” и “Последние статьи с анонсами”.
  • Реализована постраничная навигация без плагинов.
  • На странице отдельной статьи добавлена информация об авторе.
  • Отображается аватар автора, если он настроен в сервисе Gravatar.
  • Добавлена поддержка локализации.

Версия 1.6.1 (10.01.10)

  • Eсли не установлен плагин WP-PageNavi, то постраничная навигация “по умолчанию” теперь отображается.
  • Исправлена ошибка с неправильным отображением сообщения “В данной рубрике нет статей”.

Версия 1.6 (27.09.09)

  • При заходе в подрубрику отображается список остальных подрубрик из той же рубрики.

Версия 1.5 (20.12.08)

  • Изменения под WordPress версии 2.7.

Версия 1.4.1 (29.11.08)

  • Изменен метод считывания версии WordPress.
  • Мелкие незначительные исправления.

Версия 1.4 (19.07.08)

  • Решена проблема с некорректным выводом сообщения “Нет рубрик” с заголовком “Подрубрики” на страницах архивов рубрик.
  • Мелкие незначительные исправления.

Версия 1.35 (22.05.08)

  • В блоке авторизации, если пользователь авторизован, выводятся соответствующие его статусу ссылки в админ-интерфейс.

Версия 1.3 (11.04.08)

  • Добавлен шаблон страницы для вывода списка рубрик со ссылками на их RSS-фиды (файл rssfeeds.php).
  • Внесена небольшая правка в код вывода последних статей в сайдбаре – анонс отображался некорректно.
  • В архив “тема + плагины” добавлен измененный плагин Kinderlose – с оригиналом в версиях WordPress 2.3 и выше наблюдалось следующее: в рубриках среди постов отображались “страницы”.

Версия 1.2 (29.02.08)

  • Добавлена поддержка виджетов.
  • Теперь, если родительская рубрика не содержит подрубрик, при ее просмотре не выводится заголовок “Подрубрики” с сообщением “Нет рубрик”.
  • В сборку добавлен плагин “Forgot the Category”, который при нажатии кнопки “Опубликовать”, если рубрика не была выбрана, выводит напоминание об этом. Практика показывает, что авторы часто забывают выбрать рубрику при добавлении статьи, поэтому данный плагин будет очень полезен.

Версия 1.1 (19.01.08)

  • Исправлен подсчет общего количества статей для WordPress версий 2.3+. Ранее в эту сумму входило и количество опубликованных страниц.
  • Добавлен форма регистрации пользователей.
  • Другие незначительные исправления.

Версия 1.0 (09.01.08)

  • Самая первая версия

Комментарии (367)

  1. Paul
    21 сентября 2010 г. в 16:05

    Добрый вечер. Подскажите, почему у меня в панели автора над полем ввода статьи не отображается ни переключатель с html/Визуально, ни тулбар с b i link и т.п.? Заранее спасибо за ответ!

    1. 23 сентября 2010 г. в 10:25 / ответ на коммент Paul

      Включен ли в браузере JavaScript? Какая версия WordPress?

  2. Paul
    24 сентября 2010 г. в 12:00

    Спасибо! Но я уже разобрался. Подкрутил в коде и заработало :)
    Вот наконец закончил разбираться и получился простой, но функциональный каталог сайтов, где сразу появились посетители! Еще раз хочу поблагодарить Вас за отличные плагин и тему. Огромное спасибо!!!

  3. joyweb
    26 сентября 2010 г. в 06:04

    Dimox,
    подскажите как зарегистрированный пользователь при добавлении статьи через фронт сайта (Панель автора) может вставить изображение? Обычно для этого служат кнопки библиотеки медиафайлов, расположенные чуть выше редактора, но в панели автора их нет.

    1. 26 сентября 2010 г. в 09:35 / ответ на коммент joyweb

      Можно только указать ссылку на изображение, а загрузить его на сайт через эту панель нельзя.

  4. 2 октября 2010 г. в 10:21

    Доброго времени суток, не могу понять, так как чайник в этом деле… Шаблон и плагин имеют друг к другу какую то привязку ? Туплю, не могу понять – как создать категории, тоесть есть голый установленный wp 2.9, со стандартным -Привет мир, и установленный Ваш плагин, подскажите – где прописываются категории ? В админке блога – как всегда или еще где то ?
    Прошу прощения за такой тупой вопрос…

    1. 2 октября 2010 г. в 11:10 / ответ на коммент Сергей

      Категории создаются в админке на странице “Записи – Рубрики”.

  5. 2 октября 2010 г. в 12:06

    Дима, спасибо, внес поправки – вот появился еще один нуб каталог строительной тематики http://burportal.ru/ , спасибо за плагин и шаблон. Ссылки на тебя в шаблоне оставлю без изменений, сам знаю цену такого труда. Мою можешь удалить, если хочешь.

  6. Serg
    7 ноября 2010 г. в 13:16

    Добрый день ! Заинтересовала Ваша тема, решил прпробовать сделать каталог сайтов, предполагается достаточно большое количество. При тестах, когда больше 5000 категорий гриузится с жуткими тормозами, преимущественно на Safari, остальные браузеры берут только header. Что это может быть ?

    1. 7 ноября 2010 г. в 13:56 / ответ на коммент Serg

      Наверное, сервер не справляется с нагрузкой.

  7. Добже Хлопчик
    16 ноября 2010 г. в 15:14

    Скажите пожалуйста как полностью убрать один сайдбар?

    1. Просто так на словах не объяснить. Там много чего нужно менять в верстке.

  8. Сергей
    1 декабря 2010 г. в 23:51

    А как сделать красивую форму авторизации? Как например на этом сайте: http://rusnel.ru/. У меня в данный момент форма авторизации представлены вертикальными ссылками:
    Вход
    Выход

  9. 6 декабря 2010 г. в 11:35

    Разобрался с описанием, просто не прочел…
    Но теперь в последней версии не отображается надпись главная в меню, пробовал из старой версии код добавлять, но ничего не вышло…
    php не знаю толком, вот методом тыка и делаю все…
    Как без создания меню в админке вордпресса сделать чтобы показывалось в меню “главная”?

    1. 6 декабря 2010 г. в 19:49 / ответ на коммент Андрей

      В файле header.php из этого кода:

      <?php if (function_exists('wp_nav_menu')) { ?>
      		<?php
      			$nav = wp_nav_menu('container=ul&menu_id=nav&echo=0&depth=1');
      			$nav = str_replace('<div class="menu"><ul>', '<ul id="nav">', $nav);
      			$nav = str_replace('</ul></div>', '</ul>', $nav);
      			echo $nav;
      		?>
      <?php } else { ?>
      		<ul id="nav">
      			<li<?php if (is_home()) echo ' class="current_page_item"' ?>><a href="<?php bloginfo('url'); ?>/"><?php _e('Home'); ?></a></li>
      			<?php wp_list_pages('title_li=&depth=1'); ?>
      		</ul>
      <?php } ?>
      

      оставьте только этот:

      		<ul id="nav">
      			<li<?php if (is_home()) echo ' class="current_page_item"' ?>><a href="<?php bloginfo('url'); ?>/"><?php _e('Home'); ?></a></li>
      			<?php wp_list_pages('title_li=&depth=1'); ?>
      		</ul>
      
      1. 6 декабря 2010 г. в 22:10 / ответ на коммент Dimox

        Спасибо помогло, сам еще кое-что убрал т.к. ошибку выдавал, но по смыслу допетри….

        Влпрос, а для чего тогда были нужны строки:

           

        ???
        Очень даже интересно, да, и почему (зачем, для чего) они в шаблоне по умолчанию???

        1. 6 декабря 2010 г. в 23:10 / ответ на коммент Андрей

          Этот код как раз для того меню, создаваемого в админке, которым вы не захотели воспользоваться.

          1. 7 декабря 2010 г. в 15:44 / ответ на коммент Dimox

            Что -то ничего не изменилось.. ty. как было так и осталось, только добавился пункт главная, а тогда зачем этот код нужен был и за что он отвечает так и не дошло..
            Поясните если можно подробнее… хочется познать, все же учусь у Вас..
            Спасибо!

            1. 7 декабря 2010 г. в 18:05 / ответ на коммент Андрей

              Я проверил у себя, все в порядке. Значит что-то неправильно делаете.

  10. Сергей
    7 декабря 2010 г. в 06:22

    А мне кто-нибудь поможет? Перед вашим обсуждением вопрос задал)

    1. Вот код:

      <?php if (function_exists('article_directory_authorization_form')) article_directory_authorization_form(); ?>

      Вот css, который надо добавить в свой и если надо подредактировать под свой дизайн (цет, позиции и т.д.):

      #authoriz {
      margin: 0 15px 20px;
      width: 170px;
      }
      #authoriz div {
      width: 100%;
      overflow: hidden;
      margin: 0 0 6px;
      }
      #authoriz label {
      float: left;
      padding: 2px 0 0;
      }
      #authoriz input#login,
      #authoriz input#pass {
      float: right;
      font: 11px Verdana, Arial, Tahoma, sans-serif;
      width: 115px;
      border: 1px solid #CCC;
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      border-radius: 3px;
      padding: 3px 6px 4px;
      color: #777;
      }
      #authoriz input#login:focus,
      #authoriz input#pass:focus {
      border: 1px solid #999;
      color: #000;
      }

      Посмотрите и сами все сделаете… Я сам методом тыка и спрашиваю постоянно… Люди нормальные всегда помогут..
      Удачи!

  11. Сергей
    8 декабря 2010 г. в 06:31

    Благодарю. Сегодня поковыряю.

  12. 5467
    9 декабря 2010 г. в 00:23

    Подскажите – а как вывести только содержимое корневой рубрики а её саму не выводить?

    1. 9 декабря 2010 г. в 11:35 / ответ на коммент 5467

      Не понял.

  13. 9 декабря 2010 г. в 12:24

    Дмитрий подскажите как сделать чтобы на отдельно созданной странице выводились статьи с одной конкретной рубрики.
    Если можно, то напишите полный код…
    Использую последнюю версию вашей темы.1.7.1.
    Спасибо заранее!!!

  14. 9 декабря 2010 г. в 12:34

    Вставил в шаблон созданный для отдельной страницы код:

    <?php recentArticles(); ?>

    Но выводятся только пять последних статей и то все подряд изо всех категорий, так и не смог это победить… Все облазил в нете, да знаний не хватает…
    Помогите! Спасибо!

    1. 9 декабря 2010 г. в 20:01 / ответ на коммент Андрей

      Делается следующим образом:

      <?php
      	$page = (get_query_var('paged')) ? get_query_var('paged') : 1;
      	query_posts("cat=1&paged=$page");
      ?>
      <?php if (have_posts()) : ?>
      	<?php while (have_posts()) : the_post(); ?>
      		<div class="post">
      			<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
      			<div class="pmeta"><?php the_time(get_option('date_format')); ?> | <?php _e('Author'); ?>: <?php the_author_posts_link(); ?> | <?php _e('Posted in', 'article-directory'); ?> <?php the_category(', ') ?></div>
      			<div class="entry">
      			  <?php the_excerpt(); ?>
      			</div>
      		</div>
      	<?php endwhile; ?>
      		<?php kama_pagenavi(); ?>
      <?php endif; ?>
      

      После cat= укажите идентификатор нужной рубрики.

      1. 10 декабря 2010 г. в 03:11 / ответ на коммент Dimox

        Попробовал, создал шаблон, вставил ваш код, но какие только номера категорий не вставлял все равно только с первой выводится, ничего не помогло…
        Номера категорий смотрел в админпанели наведя мышкой на категорию…
        В чем ошибка? Наверное не тот запрос…
        Вот просто нашел в сети такой пример, конечно не совсем адаптированный, но там все же выводит на страницу из нужной категории, только жаль, что не в сокращенном виде:

        <?php
        // page id 21 will get category ID 12 posts, page 16 will get category 32 posts, page 28 will get category 17 posts
        if (is_page('21') ) {
        $cat = array(12);
        } elseif ( is_page('16') ) {
        $cat = array(32);
        } elseif ( is_page('28') ) {
        $cat = array(17);
        } else {
        $cat = '';
        }

        $showposts = -1; // -1 shows all posts
        $do_not_show_stickies = 1; // 0 to show stickies
        $args=array(
        'category__in' => $cat,
        'showposts' => $showposts,
        'caller_get_posts' => $do_not_show_stickies
        );
        $my_query = new WP_Query($args);

        ?>

        <?php if( $my_query->have_posts() ) : ?>

        <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <?php
        //necessary to show the tags
        global $wp_query;
        $wp_query->in_the_loop = true;
        ?>
        <div <?php post_class() ?> id="post-<?php the_ID(); ?>">

        Как мне реализовать работоспособность Вашего кода? Простите за назойливость просто 2 день над этим бьюсь… почти не сплю… сделать надо..

      2. 10 декабря 2010 г. в 06:07 / ответ на коммент Dimox

        Спасибо все заработало, только вот еще вопрос…
        1. А как вывести не одну категорию, а несколько определенных, так же на одной странице?
        2. И еще как вывести помимо категорий (рубрик) еще и подкатегорию (подрубрику)?

        Спасибо огромное Вам за помощь!
        С нетерпением жду ответа!

        1. 10 декабря 2010 г. в 10:35 / ответ на коммент Андрей

          После cat= через запятую укажите идентификаторы соответствующих рубрик.

          1. 10 декабря 2010 г. в 12:47 / ответ на коммент Dimox

            написал в строке вот как:

            query_posts("cat=33,52,37&paged=$page");

            но выводится только из первой категории с ID 33.
            Где моя ошибка?

            1. 10 декабря 2010 г. в 13:24 / ответ на коммент Андрей

              В настройках плагина отключите опцию “Исключить со страниц родительских рубрик статьи подрубрик”.

              1. 10 декабря 2010 г. в 19:17 / ответ на коммент Dimox

                В настройках плагина отключите опцию “Исключить со страниц родительских рубрик статьи подрубрик”.

                Отключил, но все равно рубрику показывает, а подрубрику нет, и другие не показывает рубрики, только первую в списке:

                query_posts("cat=33,52,37&paged=$page");

                33- рубрика, 52 подрубрика рубрики 33, а 37 другая рубрик…
                так вот только 33 и показывает…
                Где все же моя ошибка? Может код еще какой поменять… пробовал все дополнительные даже кроме основного плагины выключать!

  15. 10 декабря 2010 г. в 21:46

    Разобрался! Спасибо! Это просто я сам затупил…

  16. sj
    20 декабря 2010 г. в 10:58

    привет,так а ты новую версию диза будешь раздавать с плагином?

    1. 20 декабря 2010 г. в 11:36 / ответ на коммент sj

      Нет.

  17. Декс
    25 января 2011 г. в 15:43

    Привет. Как сделать чтобы в теме на главной выводились миниатюры. Я пробовал с помощью PHP функции извлечь из поста 1-ю картинку, уменьшить её до заданных размеров, сохранив пропорции, и вставить в качестве миниатюры, как делал на обычных вордпрессовских темах.
    Вот функция

    function catch_that_image() {
    global $post, $posts;
    $first_img = ”;
    ob_start();
    ob_end_clean();
    $output = preg_match_all(‘//i’, $post->post_content, $matches);
    $first_img = $matches [1] [0];
    if (!empty($first_img)) $size = getimagesize($first_img);
    $imageWidth = $size[0];
    if ($imageWidth > 170) $imageWidth = 170;
    $post_title = $post->post_title;
    $post_title = str_replace(‘”‘, ‘\”, $post_title);
    if(empty($first_img)) {
    return ”;
    } else {
    if ($imageWidth > 80) return ‘ ‘;
    }
    }

    Ставил как и везде в связке с плагином the excerpt reloaded.
    Не выходит, миниатюра появляется только в первой записи. Подскажи пожалуйста, как решить эту проблему.

  18. Декс
    28 января 2011 г. в 11:03

    Подскажи пожалуйста, как решить эту проблему?

  19. Saffi
    29 января 2011 г. в 20:35

    Скажите пожалуйста как убрать фразу “Архив рубрики” со станиц?

    1. 29 января 2011 г. в 21:40 / ответ на коммент Saffi

      В файле functions.php замените строку:

      printf(__('Archive for the &#8216;%s&#8217; Category', 'article-directory'), $currentBefore . single_cat_title('', false) . $currentAfter);

      на такую:

      echo $currentBefore . single_cat_title('', false) . $currentAfter;
      1. Saffi
        30 января 2011 г. в 01:07 / ответ на коммент Dimox

        Спасибо большое! Все получилось!

        А есть такая возможность, чтобы выборочно на определенные статьи не выставлялась дата публикации?

        1. 30 января 2011 г. в 12:26 / ответ на коммент Saffi

          Наверное, можно сделать с помощью произвольных полей.

  20. wk
    30 января 2011 г. в 14:21

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Привет! Я добавляю каегории и подкатегории, и у меня получилась структура, которую я показал выше. А нужно просто
    1
    8
    9
    то есть чтоб показывало только основные подкатегории.
    Когда зайду в первую подкатегорию, чтоб показывало только
    2
    3
    4
    и так далее. Как мне этого добиться?
    Спасибо

    1. 30 января 2011 г. в 14:58 / ответ на коммент wk

      Для рубрик на главной странице есть соответствующая опция в настройках. А для страницы рубрики нужно в файле category.php заменить:

      <?php wp_list_categories('show_count=1&child_of='.$cat.'&hide_empty=0&title_li='); ?>

      на:

      <?php wp_list_categories('show_count=1&child_of='.$cat.'&hide_empty=0&title_li=&depth=1'); ?>

      и заменить:

      <?php wp_list_categories('show_count=1&child_of='.$parent->parent.'&exclude='.$cat.'&hide_empty=0&title_li='); ?>

      на:

      <?php wp_list_categories('show_count=1&child_of='.$parent->parent.'&exclude='.$cat.'&hide_empty=0&title_li=&depth=1'); ?>
      1. wk
        30 января 2011 г. в 15:28 / ответ на коммент Dimox

        Первой строчки хватило. Вторую не нашел. Спасибо, работает

    2. wk
      30 января 2011 г. в 14:58 / ответ на коммент wk

      Сорри за форматирование, пробелов не видно. Еще раз:

      1
      —2
      —3
      —4
      ——-5
      ——-6
      ——-7
      8
      9
      Привет! Я добавляю каегории и подкатегории, и у меня получилась структура, которую я показал выше. А нужно просто
      1
      8
      9
      то есть чтоб показывало только основные подкатегории.
      Когда зайду в первую подкатегорию, чтоб показывало только
      2
      3
      4
      когда в четвертую
      5
      6
      7

      и так далее. Как мне этого добиться?
      Спасибо

Ваш комментарий

Жирный текст

Ссылка

Цитата

Внутристрочный код

CSS-код

HTML-код

JavaScript-код

PHP-код