Выдалась свободная минутка между экзаменами. Решил написать что-то полезное для блоггеров ;)

Итак, сегодня мы займёмся написаним простейшего виджета для WordPress.В виджете будет выводиться случайная цитата из файла.

Но ведь вместо цитаты может быть всё, что угодно ! Может вы захотите выводить анекдоты или даже ссылки ;)

Смысл довольно прост: в каждой строке файла будет храниться нужная нам информация. Затем просто открываем файл и берём оттуда случайную строку.

Дальше будет просто код с комментариями внутри.

  1. <?php
  2. /*
  3. Plugin Name: Rand Quotes
  4. Plugin URI: http://rucoder.ru/
  5. Description: Плагин выводит случайную цитату из файла в виде виджета.
  6. Author: adVISeR
  7. Version: 1.0
  8. Author URI: http://rucoder.ru/
  9. */
  10. ### Function: Init WP-Rand Quotes Widget
  11. //Инициализируем виджет
  12. function widget_rnd_q_init() {
  13.     if (!function_exists('register_sidebar_widget')) {
  14.         return;
  15.     }
  16.  
  17.     ### Function: WP-Rand Quotes Widget
  18.     //Собственно сам виджет
  19.     function widget_rnd_quotes($args) {
  20.         //Вытаскиваем переменные движка для оформления блока
  21.         extract($args);
  22.         //Открываем файл, обрабатываем ошибку если не открывается.
  23.         if (($data = file(dirname(__FILE__)."/db.txt"))==null){
  24.             _e("Ошибка открытия файла!");
  25.         }
  26.         //Заголовок для блока
  27.         $title = "Случайная цитата";
  28.         //Оформляем заголовок, используя переменные движка
  29.         echo $before_widget.$before_title.$title.$after_title;
  30.         //Получаем кол-во строк в файле
  31.         $linescount = count($data);
  32.         //Получаем случайный номер строки
  33.         $randomline = rand(0, $linescount-1);
  34.         //Ну и собственно получаем нужную строку
  35.         $randquote = $data[$randomline];
  36.         //Выводим
  37.         echo $randquote;
  38.         //Выводим нижнюю часть блока
  39.         echo $after_widget;
  40.     }
  41.    
  42.     // регистрируем виджет
  43.     register_sidebar_widget(array('RandomQuotes', 'wp-rnd-quotes'), 'widget_rnd_quotes');
  44. }
  45.  
  46.  
  47. ### Function: Load The WP-Rand Quotes Widget
  48. //Загружаем плагин
  49. add_action('plugins_loaded', 'widget_rnd_q_init');
  50. ?>

Первые несколько закомментированных строк требуют небольшого пояснения. Это служебная информация о плагине, именно её вы будете видеть в админке.

Прикладываю весь плагин в виде архива вместе с базой цитат о программировании, чтобы плагин заработал, его достаточно распаковать в папку wp-content/plugins,  активировать в админке и добавить нужный виджет в sidebar.

Скачать Random Quotes

Результат работы плагина можно лицезреть на этом блоге справа снизу, сразу после блогролла.