Ars Longa, Vita Brevis

Дочерние рубрики:

Статьи из рубрики "WordPress"

Статьи, посвященные WordPress и всему, что с ним связано

В Австралии и США большой популярностью пользуется плагин Clicky — Web Analytics 2.0. Как следует из названия, Clicky является еще одним сервисом для анализа статистики веб-сайта. Судя по приведённой на сайте таблице, Clicky, образно говоря, "затыкает за пояс" даже такого конкурента, как Google Analytics.

Себе на сайты я ставить Clicky не пытался, но наблюдал его в действии в проекте, над которым работаю. Могу сказать, что сервис действительно мощный и удобный, а плагин Clicky для WordPress относится к разряду "сконфигурировал и забыл".

Всё хорошо, но по традиции есть одно "но": если на странице используется, например, Prototype, то плагин начинает кидаться ошибками JavaScript. Читать статью «Clicky 0.3b для WordPress и проблемы с JavaScript» полностью…

Июнь 26, 2008

Сброс пароля в WordPress 2.5.1

Рубрика: Патчи
Метки: , , , ,
Vladimir

У WordPress 2.5.1 есть одна весьма нехорошая ошибка: не работает сброс пароля. При попытке сброса WordPress выдает следующую ошибку: "Sorry, that key does not appear to be valid". Данная ошибка исправлена в dev-версии WordPress 2.5.2.

Тем не менее, все мы люди, и нам, к сожалению, свойственно забывать. В том числе и пароли. Для восстановления пароля ждать выхода официальной версии 2.5.2 не кажется логичным, поэтому будем исправлять то, что есть. Читать статью «Сброс пароля в WordPress 2.5.1» полностью…

В статье "CodeBox: подсветка синтаксиса для WordPress" я говорил, что вместо того, чтобы постоянно исправлять старые и новые баги в плагине WP CodeBox, я сделал форк, который будет жить своей жизнью, но при этом будет совместимым с WP CodeBox, чего бы Eric Wang там ни творил.

Обещания, как говорится, нужно держать :-) Сегодня у меня выдались пять часов свободного времени, и я занялся доработкой/исправлением плагина. Фактически, из исходного кода остались только имена параметров, всё остальное было переписано в "родном, мудром, обьектно-ориентированном" стиле.

В результате получился CodeBox 0.5 (функционально соответствующий WP CodeBox 1.2.2.1). К версии 1.0 планирую довести до ума поддержку TinyMCE (в своё время несовместимость WP CodeBox с TinyMCE привела к тому, что я не использую WYSIWYG), поменять кое-что в JavaScript, добавить новые опции и т.п. Поддержка интернационализации уже есть, осталось заняться переводом :-) Как говорится, планов очень много, где бы время взять?

Скачать CodeBox 0.5 для WordPress.

PS - по сравнению с предыдущей версией, плагин "похудел" практически на 200 килобайт. Работа идёт!

Два с половиной месяца назад я писал про альтернативную версию плагина ОднаКнопка для WordPress. Что же, пришла пора Русскому Программисту написать что-то своё.

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

Достоинства:

  • не требует внешних скриптов (всё, что нужно для работы, присутствует на сервере);
  • запросы отсылаются непосредственно сервису закладок и никуда более — если у Вас паранойя, Вам это понравится (ОднаКнопка отсылает их еще и на свой сервер);
  • для отображения бокса с сервисами закладок используется XHTML-шаблон, который пользователь может переделать по своему вкусу;
  • очень легко добавлять новые сервисы закладок;
  • поддерживается больше сервисов закладок;
  • для добавления статьи (которая отображается шаблоном single.php) в сервис закладок не требуется поддержка JavaScript (любители Lynx, специально для вас);
  • все иконки сервисов закладок хранятся в одном файле (техника, известная как CSS rollovers); как следствие, для загрузки всех иконок требуется один запрос, а не двадцать четыре;
  • zero configuration — поставил и забыл.

Установка

Копируете файл onebutton.zip в каталог с плагинами WordPress (wp-content/plugins), разархивируете, после чего активируете в wp-admin/plugins.php.

Скачать плагин OneButton for WordPress.

История изменений:

  • Версия 0.2:

    • поддержка интернационализации;
    • поправлены иконки и недочеты в разметке (bersy, большое спасибо!);
    • улучшена поддержка Internet Explorer 6 (как я его не люблю!).
  • Версия 0.2.1:

    • добавлены новые сервисы закладок (RuCity, LinkStore, NewsLand);
    • исправлены потенциальные проблемы с форматированием (Настя, Alex, спасибо за тестирование!);
    • улучшена поддержка Internet Explorer 6 (как я его не люблю!).
  • Версия 0.3b — Alex, спасибо за идеи:

    • возможность открывать сервисы в новом окне (путём добавления в ссылку target="blank");
    • возможность добавлять отключать rel="nofollow" в ссылке на сервис;
    • возможность показывать кнопку только в полной версии статьи/страницы (в этом случае не подгружается ненужный более JavaScript — минус один запрос);
    • кнопка не должна попадать в фид или трэкбэк;
    • возможность выбора показываемых сервисов закладок.
  • Версия 0.3b2:

    • добавлены сервисы Lopas и Закладки I.UA (подсмотрено здесь);
    • автоматическое использование описания (мета-тэг description статьи) и тэгов (tags + category) для сервисов, которые это поддерживают (Закладки I.UA, Blink, Simpy, Spurl, Текст 2.0, RuCity).
Июнь 20, 2008

Патч для WassUp 1.6

Рубрика: Патчи
Метки: , , , , , ,
Vladimir

Недавно вышла очередная версия WassUp, и, что характерно, остались все старые проблемы. Для их решения готов новый патч :-) Но что меня очень разочаровывает, с разработчиками WassUp очень трудно разговаривать :-( За последние несколько месяцев я им неоднократно говорил о различных багах, но они так и остались неисправленными.

Из-за проблем с производительностью я наконец-таки снёс WassUp (слишком много переделывать, чтобы исправить все проблемы, а написан он всё же кривовато), так что данный патч будет всё же последним. Читать статью «Патч для WassUp 1.6» полностью…

Меня всегда интересовало, насколько эффективно WordPress работает с базой данных, и насколько хорошо спроектирована база данных.

Практически в каждом проекте, над которым я работаю, я использую те или иные средства для анализа производительности скрипта и поиска его слабых мест. Для разработчиков не является секретом, что во многих случаях плохая производительность работы скрипта обусловлена низкой производительностью SQL-запросов. И, как правило, низкое быстродействие запросов связано с их неоптимальностью (что включает в себя отсутствие необходимых индексов в базе данных).

Однажды столкнувшись с ужасной производительностью WordPress и не имея возможности анализировать код десятка поставленных плагинов, я стал решать задачу иначе, в результате чего родился плагин для анализа SQL-запросов. Читать статью «SqlMon: плагин для анализа SQL-запросов» полностью…

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

Тем не менее, это заставило меня задуматься о том, как WordPress использует собственный кэш и что можно сделать, чтобы улучшить производительность. Читать статью «WP File Cache: замена WP_Object_Cache с поддержкой долговременного кэширования» полностью…

Сегодня мне наконец-то посчастливилось найти концы (в смысле, оригинал) статьи, которую публикуют многие блоггеры (в переводе на родной язык). Статья носит название "13 Тэгов, которые следует удалить из вашей темы" (с ней можно ознакомиться, например, здесь).

В переводе меня смутило то, что автор, на мой взгляд, "экономил на спичках", вместо того, чтобы использовать что-либо стоящее, поэтому я решил обратиться к оригиналу, в надежде на то, что автор хоть как-нибудь обосновал свою точку зрения. Читать статью «Ответ на “13 Тэгов, которые следует удалить из вашей темы”» полностью…

Небольшой плагин для любителей HTTPS — помещает панель управления WordPress (админку, если по-русски) за HTTPS. Shane, специально для тебя! :-)

Возможно, кому-нибудь даже пригодится. Скачать WP Secure Admin.

Update: специальный бонус: плагин WP Secure Login — безопасный логин/регистрация/восстановление пароля. Скачать WP Secure Login.

Июнь 1, 2008

Патч для WP WassUp 1.5.1

Рубрика: PHP, Патчи
Метки: , , , , ,
Vladimir

Сегодня явно день патчей :-)

Полтора месяца назад я уже писал про замечательный плагин Wassup, а также о его нелюбви к Windows. Помимо этой ошибки, я обратил внимание на нелюбовь плагина к строкам, состоящим из многобайтных символов (например, UTF-8).

Сегодняший патч исправляет:

  • проблему с разделителями каталогов (традиционно);
  • мелкие ошибки, связанные с невалидностью генерируемого HTML-кода;
  • добавляет поддержку строк, состоящим из многобайтных символов (поддержка таких строк требует наличия активированного расширения PHP mb_string);
  • добавляет rel="nofollow" к ссылкам в блоках типа 'Top 5 Referrers', 'Top 5 Search Terms'.

Скачать патч в формате unified diff.

Патч нужно применить рекурсивно к каталогу /wp-content/plugins/wassup.

Наверное, многие знают о плагине WP-CodeBox, написанном Eric Wang. Данный плагин provides clean syntax highlighting and AJAX advanced features for embedding source code within pages or posts, то есть всё то, что нужно блоггеру, который часто постит код. Для подсветки синтаксиса используется GeSHi. Читать статью «CodeBox: подсветка синтаксиса для WordPress» полностью…

Как-то на досуге я занялся анализом приходящего спама и обратил внимание, что практически 98% спама в комментариях приходят с IP-адресов, замеченных в рассылке спама по электронной почте. А спамеры обычно попадают в черные списки (blacklist).

DNSBLDNS blacklist или DNS blocklist — списки хостов, хранимые с использованием системы архитектуры DNS. Обычно используются для борьбы со спамом. Почтовый сервер обращается к DNSBL, и проверят в нём наличие IP-адреса клиента, с которого он принимает сообщение. При положительном ответе считается, что происходит попытка приёма спам-сообщения, и оно блокируется (не принимается сервером, и, как правило, отправителю отсылается уведомление об этом).

Идея состоит в том, чтобы написать расширение для WordPress, проверяющее наличие IP-адреса комментатора в чёрном списке. Читать статью «Использование DNSBL для борьбы со спамом в комментариях» полностью…

Установил сегодня плагин — Hyper Cache. Очень хорошая вещь!

Однако на то мы и “пытливые русские умы”, чтобы сделать хорошую вещь еще лучше :-)
Сначала я хотел попробовать заставить Hyper Cache отдавать кэшированный контент через nginx, но это оказалось не очень простой задачей (пришлось бы переконфигурировать nginx), поэтому я лишь ограничился сжатием отдаваемого контента. Читать статью «Hyper Cache и сжатие контента» полностью…

Сегодня я установил русифицированную версию плагина Subscribe to Comments 2.1.2 и с удивлением обнаружил, что русификация-то и не работает (хотя языковые файлы присутствуют).

На сайте, с которого я скачал эту русифицированную версию, утверждается, что Проверена совместимость до версии WP: 2.3.3, поэтому вполне возможно, что проблема возникла в WordPress 2.5. Я не буду это утверждать наверняка, ибо с gettext я знаком весьма поверхностно. Читать статью «Патч для Subscribe to Comments 2.1.2» полностью…

Апр 13, 2008

Патч для WassUp 1.5 for WordPress

Рубрика: Патчи
Метки: , , , , ,
Vladimir

Ранее я уже писал про замечательный плагин Wassup, а также о его нелюбви к Windows. Вышла версия 1.5, а баг (увы!) не поправили.

Скачать патч в формате unified diff.
Патч нужно применить к файлу /wp-content/plugins/wassup/lib/action.php.

Как и в прошлый раз, помимо исправления ошибки с разделителями каталогов, патч исправляет небольшую ошибку, связанную с невалидностью (инвалидностью?) генерируемого (X)HTML-кода.