Создаем BBCode для WordPress

Wordpress logo WordPress — популярный блоговый движок. Кстати, сегодня (28 апреля 2009 года) wordpress’у исполняется 6 лет, как проекту. Поздравляем команду разработчиков нашей (по крайней мере для блогеров) любимой cms! Ну больше о нём я нечего вам не буду говорить т.к. сами знаете, а если не знаете, то без труда можете узнать на любом углу. Данная статья будет первой моей статьёй касаемо данной системы управления контентом (cms). Надеюсь, что помидорами не закидаете. Создаем BBCode для WordPress Итак, попробую начать.

На wordpress можно сделать практически любой сайт, если обладать некоторыми навыками. Я сделал сайт видео концертов (www.livevids.ru) используя wordpress. Как вы заметили, если конечно посетили мой видео сайта, что все записи на сайте имеют почти одинаковую структуру т.е. как-бы сделаны по одному шаблону (8 строк html кода). Запомнить такой шаблон очень трудно, поэтому мне приходилось держать его сохранённым в текстовом документе и каждый раз копировать его от туда, что заставляет совершать лишние действия. К тому же, это не слишком удобно в плане каких-либо изменений в этом шаблоне. Поэтому, я решил избавиться от этой проблемы и сразу вспомнил форумы, а именно их ббкоды (BBCode). Тогда я решил внедрить в шаблон для wordpress свой ббкод.

Для того, чтобы внедрить в шаблон wordpress возможность обрабатывания ббкода (производить замену определённого «тэга» на html код), необходимо внести изменения всего в один файл — functions.php. Приступим.

  1. Откроем файл functions.php и в конце добавим код приведённый под данным списком.
  2. Сохраним и закроем файл functions.php — редактирование файла завершено.
  3. Радуемся новым возможностям вашего шаблона
add_filter(‘the_content’, ‘bbco’); // Выполняем функцию bbco перед окончательным выводом поста функцией the_content
function bbco($content) { // Создаём функцию bbco
    if (strstr($content,'[url]’) === false) return ».$content.»; // Проверяем наличие тэга в тексте. Если тэг присутсвует, то выполняем код ниже, а если нет, то выводим пост.
    $content=preg_replace(«/\[url\](.*?)\[\/url\]/is», «<a href=\»\\1\» \target=»_blank\»>\\1</a>», $content); // Ищем текст, расположенный между [url] и [/url], а затем делаем из него ссылку.
    return $content; // Возвращаем обработанный пост
}

Вот и всё! Всё оказалось очень просто. Вы можете без проблем изменить данный код и приспособить его под себя. Надеюсь, что вам поможет данная статья. Если будут какие-то вопросы — обращайтесь. гг

з.ы. Данный ббкод будет обрабатываться везде, где стоит функция the_content();
з.ы.ы. Заранее извиняюсь, если что-то не так, но это моя первая обучающая статья. Прошу понять. 🙂

Создаем BBCode для WordPress: 4 комментария

  1. Нет. Имелось в виду, что код будет выполняться везде, где контент выводится функцией the_content(). Комментарии выводятся другой функцией.
    Также, бб коды не будут работать, если вы выводите содержимое поста функцией the_excerpt()

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *