<rmcreative>

RSS

Пример плагина «Типограф» к WordPress

6 декабря 2007

Не актуально: плагин идёт вместе с последней версией типографа.

Рецепт по прикручиванию типографа к Wordpress (для PHP5-версии).

1.В директории /wp-content/plugins создать директорию для плагина, например TypographMachine и скопировать туда содержимое typograph2.rar;

2.В этой же директории создать php-файл для интерфейса, например typograph_machine.php;

3.Содержимое php-файла:

<?php
/*
Plugin Name: TypographMachine
Plugin URI: http://rmcreative.ru/article/programming/typograph/
Description: "Типограф" - средство подготовки текстов к web-изданию. Форматирует текст для приведения его к более правильному с точки зрения типографики виду.
Version: 2.0.4 (PHP5)
Author: Макаров Александр, Оранский Максим
Author URI: http://rmcreative.ru/
*/
 
require_once 'class.Typograph.php';
// Интерфейс плагина
if (isset($wp_version)) {
   // Удаляем переопределения фильтров Texturize, чтобы не было конфликта с TypographMachine
   remove_filter('category_description', 'wptexturize');
   remove_filter('list_cats', 'wptexturize');
   remove_filter('comment_author', 'wptexturize');
   remove_filter('comment_text', 'wptexturize');
   remove_filter('single_post_title', 'wptexturize');
   remove_filter('the_title', 'wptexturize');
   remove_filter('the_content', 'wptexturize');
   remove_filter('the_excerpt', 'wptexturize');
 
   // Переопределяем фильтры с приоритетом 10 (как и Texturize).
   // Сюда же можно добавить и другие необходимые переопределения
   //(фильтры WordPress – http://codex.wordpress.org/Plugin_API/Filter_Reference)
   add_filter('category_description', 'typographFilter', 10);
   add_filter('list_cats', 'typographFilter', 10);
   add_filter('comment_author', 'typographFilter', 10);
   add_filter('comment_text', 'typographFilter', 10);
   add_filter('single_post_title', 'typographFilter', 10);
   add_filter('the_title', 'typographFilter', 10);
   add_filter('the_content', 'typographFilter', 10);
   add_filter('the_excerpt', 'typographFilter', 10);
}
 
// Фильтр "Типограф"
function typographFilter($text){
   $typo = new Typograph('UTF-8');
   return $typo->process($text);
}
?>

Или, чтобы каждый раз не создавать объект класса Typograph (если «Типограф» часто используется), вместо

function typographFilter($text){
   $typo = new Typograph('UTF-8');
   return $typo->process($text);
}

сделать так:

global $theTypograph;
$theTypograph = new Typograph('UTF-8');
 
function typographFilter($text){
   global $theTypograph;
   return $theTypograph->process($text);
}

4.Зайти в систему администрирования WordPress и на вкладке Плагины активировать плагин TypographMachine.

Проверено на WordPress версии 2.2. Работает.

p.s. не забываем отблагодарить Max-а за отличный рецепт.

Комментарии RSS

  1. №867
    Ян
    Ян 16.11.2008, 20:54:37

    А пример типографа можно посмотреть?

  2. №868
    Sam
    Sam 17.11.2008, 14:00:09
  3. №1447
    infaru
    infaru 06.04.2009, 1:59:33

    Может на 2.2 работает, а у меня на 2.5 не хочет

  4. №1451
    Sam
    Sam 06.04.2009, 13:51:01
  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.