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

7 января 2008 г.

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

Основная задача данного плагина заключается в том, чтобы вывести на главной странице (или любой другой) структурированный список рубрик, элементы которого можно было бы легко видоизменять с помощью CSS. Кроме того, плагин позволяет авторам публиковать статьи и менять их профиль, минуя админку WordPress.

Демо

Демонстрацию работы плагина можно посмотреть здесь - Articlesss.com/demo/.

Возможности плагина

Стандартные возможности для списка рубрик:

  • Отображение количества статей как в родительской, так и в дочерних рубриках.
  • Использование описаний рубрик в подсказках к ссылкам (параметр title).
  • Отображение пустых рубрик.
  • Отображение иерархии для подрубрик.
  • Исключение из списка указанных рубрик.

Особые возможности для списка рубрик:

  • Простое и удобное оформление с помощью CSS. Структура рубрик представляет из себя многоуровневый список, который с помощью CSS можно легко видоизменить так, как вам это будет нужно. Для родительской рубрики добавлен div-контейнер, чтобы можно было применить персональные CSS-правила, обозначив, что это именно родительская рубрика.
  • Родительская рубрика показывает количество статей, содержащихся в ее подрубриках. В эту цифру также входит количество статей, содержащихся в самой родительской рубрике.
  • Отображение списка рубрик в заданном количестве столбцов.
  • Отображение заданного количества подрубрик 2-го уровня.
  • Скрытие всех подрубрик.
  • Возможность назначить иконки для любой рубрики в списке с помощью CSS.

Дополнительные возможности:

  • Авторы могут добавлять статьи и менять свой профиль, минуя админку WordPress.
  • Отображение “Правил публикации статьи” на странице добавления статьи.
  • Исключение из архивных страниц родительских рубрик статьи подрубрик.
  • Возможность получить исходный код просматриваемой статьи.

Требуемая версия WordPress: 2.9 - 3.0.4.

Скачать

Плагин “Article Directory” (каталог статей на WordPress)

Версия: 1.3 | Последнее обновление: 16.01.2011

Установка

Внимание: если вы используете плагин совместно с одноименной темой “Article Directory”, то пункты установки 5, 6, 7 и 8.1 выполнять не нужно:

  1. Скопируйте папку article-directory в папку с плагинами (/wp-content/plugins/).
  2. Активируйте плагин через админку.
  3. Активируйте опцию “Любой может зарегистрироваться” на странице общих настроек админки.
  4. На той же странице в опции “Роль нового пользователя” выберите “Автор” или “Участник”.
  5. В файл index.php вашего WP-шаблона (либо в любое другое место, где хотите отобразить список рубрик) вставьте следующий код:

    1
    <?php if (function_exists('article_directory')) article_directory(); ?>
  6. Добавьте следующий код в том место шаблона, где хотите отобразить форму авторизации, например в файл sidebar.php:

    1
    <?php if (function_exists('article_directory_authorization_form')) article_directory_authorization_form(); ?>
  7. Добавьте следующий код в файл header.php перед тегом </head>:

    1
    2
    <link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-content/plugins/article-directory/author-panel.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-content/plugins/article-directory/categories.css" type="text/css" media="screen" />
  8. Выберите интерфейс автора в соответствующей опции на странице “Настойки → Article Directory”. Если вы выбрали “Панель автора”, то выполните следующие подпункты:

    1. В папке с темой создайте новый PHP-файл, к примеру, author-panel.php, и вставьте в него следующий код:

      1
      2
      3
      4
      5
      6
      <?php
      /*
      Template Name: Панель автора
      */

      if (function_exists('article_directory_author_panel')) article_directory_author_panel();
      ?>
    2. Создайте в админке новую страницу и в блоке параметров страницы выберите шаблон “Панель автора“. Через данную страницу авторы будут добавлять новые статьи и менять свой профиль. При этом доступ в админку им будет запрещен.
    3. Укажите ID этой страницы в соответствующей опции плагина на странице “Настойки → Article Directory“.
  9. Готово. Если необходимо, можете настроить другие опции плагина.

Настройка

Возможно, что понадобится сделать 2 вещи:

  1. Поиграться с файлами author-panel.css и categories.css, чтобы привести панель автора и список рубрик к виду, соответствующему дизайну вашего сайта. По умолчанию эти файлы уже содержит набор правил, поэтому вы можете изменить их под себя.
  2. Настроить необходимые опции в админке на странице “Настойки → Article Directory“.

Как добавить иконки для родительских рубрик

Это делается с помощью CSS. Стили для иконок нужно добавить в файл style.css вашего шаблона.

Стили должны иметь следующий вид:

1
#cat-23 {background: url(i/icon.gif) 4px 3px no-repeat}

Здесь цифра 23 означает, что данная иконка будет добавлена во 2-й столбец для 3-й сверху родительской рубрики. Соответственно, необходимо создать столько таких стилей, сколько у вас имеется родительских рубрик, при этом указывая соответствующую цифру для каждой иконки.

i/icon.gif - это путь до файла иконки, начиная от папки с шаблоном.

4px - величина сдвига иконки слева от блока родительской рубрики.
3px - величина сдвига иконки сверху от блока родительской рубрики.

Плагин также позволяет вывести отдельный, аналогично оформленный список со ссылками на RSS-фиды рубрик. Для этого необходимо сделать следующее:

  1. Создать новый шаблон страницы.
  2. На месте вывода списка вставить следующий код:

    1
    2
    <?php global $rssfeeds; $rssfeeds=true; ?>
    <?php if (function_exists('article_directory')) article_directory(); ?>
  3. В админ-интерфейсе создать новую страницу, выбрав созданный шаблон в параметрах страницы.

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

Версия 1.3 (16.01.11)

  • При входе автора со страницы wp-login.php теперь происходит автоматическое перенаправление в панель автора.
  • Добавлена опция “Показывать редактор текста”.
  • Исправлена проблема, когда визуальный редактор не отображался.

Версия 1.2 (16.10.10)

  • Исправлена проблема, когда статьи получали статус “запланированные” вместо “опубликованные”.
  • Устранена ошибка с функцией mb_strlen.
  • Исправлены ошибки в работе плагина в случае, если “Адрес WordPress” и “Адрес сайта” различались.
  • Добавлена новая опция “Редактор текста по умолчанию” (HTML или визуальный).

Версия 1.1 (12.09.10)

  • Обновлена инструкция по установке плагина.
  • Добавлена возможность выбора интерфейса для авторов: “Админка WordPress” или “Панель автора”.
  • Добавлена возможность автоматически публиковать добавляемые авторами статьи или отправлять на модерацию.
  • В панель автора добавлен редактор TinyMCE и HTML-редактор.
  • В файл author-panel.css добавлены стили для редакторов.
  • Добавлена функция, подключающая форму авторизации (смотрите инструкции по установке плагина).

Версия 1.0 (06.09.10)

  • Обновлена инструкция по установке плагина.
  • Данная версия плагина разработана для WordPress версии 2.9 и выше.
  • Кардинально переделана система сохранения настроек, благодаря этому размер плагина существенно уменьшился.
  • Реализована возможность авторам добавлять статьи и менять их профиль, минуя админку WordPress (смотрите инструкции по установке плагина).
  • Залогиненным пользователям, роль которых ниже “Редактора”, доступ в админку WordPress запрещен.
  • Можно задать минимально допустимое количество символов в добавляемой статье.
  • Можно задать максимально допустимое количество ссылок в статье.
  • Плагин Role Manager (или ему подобные) больше не нужен для работы с плагином.

Версия 0.9.9 (27.09.09)

  • Исправлен баг с исчезновением подрубрик при произвольной сортировке.

Версия 0.9.8 (22.06.09)

  • Добавлена опция “Запретить публикацию в родительские рубрики?”.

Версия 0.9.7 (07.03.09)

  • Доработан блок исходников статьи.

Версия 0.9.6 (25.01.09)

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

Версия 0.9.5 (04.01.09)

  • Добавлена возможность сортировки списка рубрик по вашему выбору. Для этого потребуется установить плагин My Category Order.
  • Теперь плагин работает в версиях WordPress, начиная с 2.3 (исключены версии 2.1 и 2.2).
  • Удалена функция перенаправления на главную страницу сайта при клике на ссылку “Выйти”, т.к. эта функция встроена в WordPress 2.7.

Версия 0.9.4 (29.11.08)

  • Изменен метод считывания версии WordPress. Поэтому плагин теперь работает корректно, даже если вы используете его одновременно со сторонним плагином, изменяющим версию WordPress.

Версия 0.9.3 (05.10.08)

  • Пофиксена ошибка базы данных: SELECT SUM(count) FROM wp_term_taxonomy WHERE taxonomy = ‘category’ AND parent =

Версия 0.9.2 (19.08.08)

  • Решен вопрос с автозаполнением авторами полей (видимо, с помощью специальных программ типа AllSubmitter), которые скрыты и не должны заполняться.

Версия 0.9.1 (25.07.08)

  • Исправлена ошибка, при которой были доступны к просмотру записи со статусом “Черновик” и “Ожидающие рассмотрения”.

Версия 0.9 (19.07.08)

  • Если настроен вывод не всех подрубрик 2-го уровня, после списка подрубрик выводится символ “…”.
  • Добавлена возможность назначить иконки для родительских рубрик. О том, как их добавлять, читайте инструкцию выше в статье.
  • Убраны ограничения функций в админ-интерфейсе, создаваемые плагином, для пользователей вплоть до уровня редактора.
  • Исправлена ошибка, когда при заходе на страницу комментариев в админке сообщение “Запретная зона” выводилось всем пользователям, независимо от статуса.
  • От авторов спрятано сообщение о необходимости обновить WordPress.
  • При нажатии на ссылку “Выйти” пользователь перенаправляется на главную страницу сайта.

Версия 0.8.1 (28.06.08)

  • Добавлена возможность вставки “Правил публикации статьи” перед формой на странице создания/редактирования статьи (администратору правила не выводятся).
  • Поскольку пока не найдено решение, позволяющее в админке на странице “Комментарии” показывать автору только его комментарии, доступ для него на эту страницу закрыт.
  • От авторов спрятан подвал (footer) админки, как не нужный элемент.
  • На доске объявлений (Dashboard) в верхнем блоке от авторов спрятаны различного рода статистические данные сайта. Если вы желаете также убрать из доски объявлений все виджеты (относится только к WordPress 2.5 и выше), то рекомендую воспользоваться плагином Dashboard Widget Manager.

Версия 0.8 beta (13.06.08)

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

    Поэтому, если у вас установлены какие-либо из данных плагинов, их необходимо обязательно удалить.

  • На странице управления записями в админке автор теперь видит только собственные статьи.
  • На странице комментариев в админке автор теперь не видит такие данные, как e-mail и IP-адрес комментаторов.

Версия 0.7 (22.05.08)

  • Добавлена возможность указать количество выводимых рубрик 2-го уровня.

Версия 0.6 (22.04.08)

  • Исправлен неправильный подсчет количества статей в родительских рубриках в случае, когда они содержат подрубрики 2-го уровня.

Версия 0.5 (11.04.08)

  • Добавлена возможность вывода дополнительного списка рубрик со ссылками на их RSS-фиды.
  • Изменен файл categories.css для страницы с RSS-фидами рубрик.

Версия 0.4 (29.02.08)

  • Добавлена возможность отключения вывода подрубрик.
  • Добавлена возможность исключения указанных рубрик/подрубрик.

Версия 0.3 (23.01.08)

  • Добавлена возможность отключения вывода сообщения “Нет рубрик”, если рубрика не содержит подрубрик.

Версия 0.2 (19.01.08)

  • Добавлена автоматическая сортировка родительских рубрик.
  • Реализован постолбиковый вывод рубрик, в результате чего уменьшилась площадь, занимаемая списком рубрик.
  • Обновлен файл стилей для рубрик categories.css (при обновлении плагина на версию 0.2 этот файл необходимо обязательно обновить).

Версия 0.1 (07.01.08)

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

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

Теги: , , , автор: Dimox | рубрика WordPress

Комментарии (720): »

  1. #cat-23 {background: url(i/icon.gif) 4px 3px no-repeat}

    В новом шаблоне не работают отступы при добавлении иконок к категориям. Иконка оказывается под текстом категории.

  2. Дмитрий, а подскажите пожалуйста как вставить логотип (рисунок) в шапку вашей темы перед ссылкой-названием сайта…?
    А так же как вставить рисунок в файл 404.php ?

    Спасибо заранее!

    @
  3. так же интересует…

    #cat-23 {background: url(i/icon.gif) 4px 3px no-repeat}

    В новом шаблоне не работают отступы при добавлении иконок к категориям. Иконка оказывается под текстом категории.

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

    1
    2
    3
    4
    #categories #cat-23 div {
      background: url(i/icon.gif) 4px 3px no-repeat;
      padding: 3px 5px 3px 25px;
    }
  5. Дмитрий, а подскажите пожалуйста как вставить логотип (рисунок) в шапку вашей темы перед ссылкой-названием сайта…?

    Примерно так:

    1
    2
    3
    4
    #logo {
      background: url(i/logo.jpg) no-repeat;
      padding: 0 0 0 95px;
    }

    А так же как вставить рисунок в файл 404.php ?

    Используйте тег img.

  6. Вставил в начало файла style.css

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    * {margin: 0; padding: 0}
    header, nav, section, article, aside, footer {display: block}
    body {
      font: 12px/18px Verdana, Arial, Tahoma, sans-serif;
      color: #444;
      background: #F4F4F4 url(i/bg.gif);
     
    }
    #logo {
      background: url(i/logo.jpg) no-repeat;
      padding: 0 0 0 95px;
    }
    a {
      color: #009900;
      text-decoration: none;
      outline: none;
    }

    Но ничего не показывается…, да в папку картинок “I” кинул файл логотопа logo.jpg, но все равно ничего не произошло…
    Что сделал не так… заранее простите за мое непонимание и тупость… учусь просто по немного…

    @
  7. Вот посмотрите что получилось, не сразу заметил. http://lemuriya.ru/
    Как мне выровнять логотип его размер 150на 150 и чтобы он был спереди и равномерно перед названием-сылкой сайта, а название было немного дальше от логотипа на 2-3 мм
    Спасибо заранее!!!

    @
  8. Не получается оцентровать логотип помогите пожалуйста…
    Спасибо заранее!

    @
  9. Дима, если есть возможность - ответь, пожалуйста. Или кто знает… Ветка длинная, искать - времени нет.
    В настройках плагина есть возможность исключить определенные рубрики по ID, отлично.
    Тогда вопрос:
    Как использовать эту переменную, если ее добавить руками в функцию вывода списка рубрик?
    Что я хочу?
    Мне надо использовать как-бы три раздела:
    Первый - сделать Заголовок и вывести один список рубрик
    Второй - Заголовок и список
    Третий - Заголовок и список.
    Фактически, надо три раза добавить функцию вывода плагина в одном файле, но ограничить
    вывод рубрик параметрами типа query_posts
    Это возможно? Если да - подскажите как реализовать.
    Заранее спасибо.
    Респект автору за проделанную работу

    @
  10. Во-первых, у изображения по краям белое пространство, которое нужно обрезать.

    Во-вторых, регулируйте параметры padding и background-position.

  11. Как использовать эту переменную, если ее добавить руками в функцию вывода списка рубрик?

    Никак, только в настройках можно указать.

  12. Спасибо за ответ

    @
  13. А как сделать, что бы дочерние рубрики отображались в строчку, а не в столбик? То есть по умолчанию идет так:

    Рубрика
    подрубрика 1
    подрубрика 2
    подрубрика 3

    А хотелось бы вот так

    Рубрика
    подрубрика 1, подрубрика 2, подрубрика 3.

    @
  14. Ольга, вы у меня спрашиваете? :)
    Я могу ответить, но лучше вопрос автору плагина задать.

    @
  15. 1. Код вывода списка рубрик:

    1
    <?php if (function_exists('article_directory')) article_directory(); ?>

    замените на такой:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
      if (function_exists('article_directory')) {
        $cats = article_directory($echo=false);
        $cats = preg_replace('#</a>\s*</li>#', '</a>,</li>', $cats);
        $cats = preg_replace('#</a>,</li>\s*</ul>#', '</a></li></ul>', $cats);
        echo $cats;
      }
    ?>

    2. В опции “Показывать количество статей в подрубриках” выберите “Нет”.

    3. Замените эти стили:

    1
    2
    3
    4
    5
    #categories li li {
      font-size: 11px;
      background: url(i/arrow.gif) 9px 7px no-repeat;
      padding: 0 0 0 19px;
    }

    на такие:

    1
    2
    3
    4
    #categories li li {
      font-size: 11px;
      display: inline;
    }
  16. 706
    Сергей
    Сергей

    Доброго времени суток.

    У меня следующие вопросы:

    1. На главной странице есть форма для авторизации, а где найти ссылку для регистрации? Ее просто нет

    2. Где брать значение для пункта “Идентификатор страницы панели автора:” при настроуке плагина Article Directory

    @
  17. 1. На главной странице есть форма для авторизации, а где найти ссылку для регистрации? Ее просто нет

    Активируйте на странице “Общие настройки” опцию “Любой может зарегистрироваться”.

    2. Где брать значение для пункта “Идентификатор страницы панели автора:” при настроуке плагина Article Directory

    Прочитайте эту статью - http://wphacks.name/finding-category-id/ Для страниц все по аналогии.

  18. Большое спасибо!

    @
  19. 709
    Дмитрий
    Дмитрий

    Очень долго грузит страницы, что делать?
    без плагина - 1 секунда, с - от 20 секунд

  20. скопировал плагин в папочку, активировал (ВП 2.9.2), но при добавлении страницы справа в аттрибутах не появлось Author panel
    ЧЯДНТ?

    @
  21. Попробуйте переключить шаблон на любой другой, потом обратно на “Article Directory”, после этого должно появиться.

  22. не появилось :( но это уже не важно, я решил свой компонентик попроще сделать. мне так много функционала не надо. спасибо за внимание

    @
  23. Не подскажете еще кое что… при выводе в категории текст поста не форматируется,(Страна: США Ассортимент: Детская о» это всё текстом идёт сплошным текстом) а на главной и в постах все нормально.
    не подскажи где поправить?
    вот сайт shopozona.ru

    @
  24. Что на главной, что в категории - не вижу никакой разницы.

  25. Догадался сам, извините, что поторопился.

    @
  26. Можно ли в этой теме применять сервис авторизации loginza?

  27. А что вам мешается самому это проверить?

  28. Здравствуйте Дмитрий!
    Подскажите мне как сделать так чтобы на отдельно сделанной странице, например как у меня “Стихи” выводились как на главной список категорий, но не тех что на главной (я просто с главной их в плагине отключил), а тех которые я наоборот исключил с главной, но хочу чтобы на странице стихов они показывались…
    Просто ставлю в своем шаблоне под страницу стихи код, а выводится как на главной, вот код шаблона:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    /*
    Template Name: SEOzavr
    */
    ?>
    <?php get_header(); ?>
    <?php if (function_exists('article_directory')) article_directory(); ?>

      <h3><?php _e('Most Recent Articles', 'article-directory'); ?></h3>
    <?php
      $page = (get_query_var('paged')) ? get_query_var('paged') : -1;
      query_posts("cat=38,54,32,115,201&paged=$page");
    ?>
    <?php if (have_posts()) : ?>
      <?php while (have_posts()) : the_post(); ?>
        <div class="post">
          <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?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(', ') ?><?php edit_post_link(__('Edit'), ' | ', ''); ?></div>
          <div class="entry">
            <?php the_excerpt(); ?>
          </div>
       
        </div><?php endwhile; ?>
     
     
        <?php kama_pagenavi(); ?>
    <?php endif; ?>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Может как-то в ручную можно в шаблоне прописать не используя плагин, но чтобы выводилось по аналогии с главной.. ну, очень надо!
    Привел полностью код шаблона чтобы было проще меня понять…
    Заранее спасибо!
    p.s. вот страница “Стихи” : http://lemuriya.ru/seozavr/

    @
  29. С помощью моего плагина никак не сделать. Попробуйте с помощью стандартной функции WordPress:

    1
    <?php wp_list_categories('show_count=1&orderby=term_group&title_li=&include=38,54,32,115,201'); ?>
  • Похожие статьи
  • Предыдущие из рубрики