Глубокая отладка или Минус на минус — это плюс, но только первый раз.

Последнюю неделю провел в глубокой отладке Semantic MediaWiki. Очень непросто искать нетривиальную ошибку в незнакомой системе. Обычно бросаю довольно быстро, если не удаётся разобраться сходу. Но тут, что называется «закусил удила». Попробовал несколько новых инструментов, немного разобрался с устройством Semantic MediaWiki и нашел причину странного поведения.

Всё началось с того, что понадобился удобный способ выполнять вычисления на страницах MediaWiki. Установил расширение Scribuntu, немного почитал про Lua и реализовал необходимые функции. Дальше началось странное — функция возвращает число, которое становится значением свойства. Все значения выводятся нормально за исключением '1' — вместо него появляется ссылка на совершенно непричастную страницу. Чудеса начались.»

18.08.2013  Метки: , , , , , ,   Рубрики: Интернет, Разработка  Комментариев нет

WordPress плагин WP-Shortstat и кодировки

Прижился у меня в блогах на WordPress плагин WP-ShortStat. Официально он работает c WordPress до версии 2.7, последний релиз был в прошлом году. Так что пришлось самостоятельно устранять проблемы с кодировками. Заодно добавил поисковик mail.ru.»

19.07.2010  Метки: ,   Рубрики: WordPress, Разработка  2 комментария

Порция знаний о WordPress

1. Организовать несколько блогов на одной копии wordpress и даже на одной базе данных очень просто! Достаточно исправить файл wp-config.php так, чтобы для каждого блога выбирались свои параметры соединения с базой данных (если базы разные) и префикс таблиц в базе. Если домены блогов разные, нужно анализировать $_SERVER['HTTP_HOST']. Примерно так:

if( $_SERVER['HTTP_HOST'] == 'all-x.net' || $_SERVER['HTTP_HOST'] == 'www.all-x.net' ) {
	define('DB_NAME', ...);
	define('DB_USER', ...);
	define('DB_PASSWORD', ...);
	define('DB_HOST', ...);
	$table_prefix  = ...;
} else ...

Можно придумать и более общее решение — формировать префикс таблиц по домену, но это годится только при создании новых блогов, не факт, что существующие будут использовать это соглашение.

Другой способ: использовать плагин WP Hive.

2. Заметил, что ломается форматирование записей при выводе категории или архива. Оказалось, что при этом выводится не соддержимое записей (content), а выдержки (excerpt), из которых вырезаются теги. В некоторых темах есть возможность настроить вид вывода, но не в тех, которые использую я. Поэтому пришлось применить другой способ — установить плагин Advanced Excerpt, который дает возможность регулировать, какие теги вырезать, а какие оставлять.

3. Подсмотрел у Никиты Селецкого, как сделать поле ввода «резиновым». Принял на вооружение.»

22.09.2009  Метки: ,   Рубрики: WordPress  Комментариев нет

output handler ‘ob_gzhandler’ cannot be used after ‘URL-Rewriter’

C недавних пор при первом заходе на этот сайт стало появляться предупреждение:

Warning: ob_start() [ref.outcontrol]: output handler ‘ob_gzhandler’ cannot be used after ‘URL-Rewriter’ in /www/giftinha/www/htdocs/wp-includes/functions.php on line 408

В этой строке находится вызов ob_start( ‘ob_gzhandler’ );

Гугл решение не подсказал, хотя сообщения об аналогичной ошибке есть, причем, для разных CMS. Говорят, дело в конфигурации сервера. Хостер мой запрос отразил — никаких изменений, якобы, не было.

Workaround нашелся: в настройках WordPress можно запретить упаковывать статьи, но это временное решение.

Времени с этим разбираться нет совершенно, может, кто-нибудь подскажет?»

20.06.2008  Метки:   Рубрики: WordPress  3 комментария

Картинки внутри php файлов

В WordPress плагине Brian’s Threaded Comments используются не очень красивые значки ‘-‘ и ‘+’ для свернутых и развернутых веток.»

14.06.2007  Метки:   Рубрики: WordPress, Разработка, Языки  Комментариев нет

PHP debug for newbies

В процессе установки маленького локального SourceForge (Savane) пришлось ознакомиться с возможностями отладки в PHP.»

09.06.2007  Метки: ,   Рубрики: Разработка, Языки  Комментариев нет