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

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

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

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

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

  • Отображение количества статей как в родительской, так и в дочерних рубриках.
  • Использование описаний рубрик в подсказках к ссылкам (параметр 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-шаблона (либо в любое другое место, где хотите отобразить список рубрик) вставьте следующий код:

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

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

    <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, и вставьте в него следующий код:

      <?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 вашего шаблона.

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

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

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

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

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

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

  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», который специально заточен мною под полноценный каталог статей. Шаблон идеален в связке с вышеописанным плагином.

Комментарии (707)
  1. 704

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

  2. 706

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

    <?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/