Мне для одного клиента надо было изменять 1 строку перевода текста в сети BuddyPress на лету – в зависимости от кучи параметров. Я почти сразу вспомнил про решение от Сергея Бирюкова, где он навешивает фильтр, но какой фильтр и каким образом – я не помнил. Принципиально решил не рыться в коде, чтобы проверить, на сколько просто найти нужный пост в форуме WordPress (нашем, русском). В итоге убил почти 20 минут, но все-таки нашел. Вывод – сложно порой найти, но можно! Имейте в виду.
function change_any_ru_text($string) {
if ( $string == 'Любая строка на русском языке' )
$string = 'Измененная версия строки';
return $string;
}
add_filter('gettext', 'change_any_ru_text');
Вставить можно как в файл functions.php вашего шаблона, так и в файл /wp-content/plugins/bp-custom.php. Просто и со вкусом.
Вышел WordPress 3.0.4 (хотя я ждал 3.1). Пишу об этом событии только по одной причине – новая версия потребляет на 250 Кб (0.25 Мб) меньше php памяти! Собственно, не может не радовать этот факт. Почему так произошло – не знаю.
Далее, я сейчас по долгу службы пишу скрипт, который будет запускаться локально на компьютере и выполнять следующее:
выгрузка всей его базы и сохранение в sql файл на вашем компьютере
запуск парсера (на предмет изменения всех uri на ваш локальный)
очистка базы локального сайта
импорт обработанной базы на локальный сайт
После этого вы получите полный подкорректированный слепок БД удаленного сайта – но уже локально. Удобно при разработке локально и необходимости тестировать что-то с данными, которые есть на живом сайте, не придется ничего ручками вбивать/редактировать.
Во времена, когда я использовал ОС Windows (сначала 5 лет ХР, потом почти год – Win7) я очень долгое время работал в блокноте – Notepad++. Я и сейчас считаю этот редактор – одним из лучших в своем классе – легковесных, универсальных, быстрых.
Но затем один человек с ником Sol показал мне NetBeans, и с тех пор я понял, что легковесность и простота – не для меня. Даже сейчас, после перехода на Ubuntu, я работаю в NetBeans 6.9. Рассказывать про этот редактор можно действительно очень долго, потому как он умеет практически все. Но история не о том.
Произошла у меня трабла – я случайно открыл NetBeans под рутом в Ubuntu. Я понятия не имею, повлияло ли это или может что другое, но с тех пор начала платформа у меня работать весьма странным способом. Сначала перестала сохранять настройки, потом открытые окна, потом поотваливались еще всякие штуки нужные и в конечном итоге – перестали видеться файлы проектов. Я менял права, доступы к файлам настроек – не помогало. Я плюнул на все и переустановил IDE – не помогло. Я отчаялся.
А вот сегодня, буквально 10 минут назад, я в очередной раз парсил интернет на предмет решения проблемы и наткнулся на новую бета-версию NetBeans 7.0. И подумал, чем черт не шутит. В итоге после ручного скачивания дистрибутива (не через Синаптик) и установки согласно (а также выбором папки /usr/bin во время инсталляции) я с замираением сердца обнаружил, что все зараболо! Проекты стали распознаваться! Счастье в малом…
Так что сейчас я довольный, как слон, и решил написать этот пост – просто поделиться :) Если у кого какие вопросы по платформе – спрашивайте, будем выяснять.
PS Первое, что бросается в глаза при запуске NetBeans 7.0 – скорость загрузки. Она выросла раза 3. Хотя это, возможно, только пока я снова не добавил кучу своих проектов. Но все равно, шустрее, что не может не радовать.
PPS А еще появилась кнопочка на внутренней панели, которая позволяет освободить используемую память, что весьма полезно при длительной работе… NetBeans написан на java, а значит, потребляет много оперативы…
В конце августа я интересовался общей статистикой разрешений экранов у пользователей интернета (хоть убейте, не помню, зачем). Тогда я наткнулся на сайт Screen Resolution Statistics, который позволяет увидеть статистику разрешений мониторов по всему интернету, а также есть возможность после бесплатной регистрации добавить свой сайт в систему, разместить код на своем сайте и собирать соответствующие данные о своих собственных посетителях. В дальнейшем эти данные можно будет просматривать, а также создавать и скачивать отчеты.
Моя душа не выдержала, когда я увидел на какой-то внутренней странице предложение автора сайта перевести его на свой язык (тем более русского еще не было). Вот я и перевел :) На данный момент на русской версии сайта сбора статистики о разрешении экрана находится старая версия моего перевода, сегодня я уже отправил обновленный вариант.
Спасибо Andrew Shen за такой сайт, а также за то, что разместил данные обо мне на этой странице.
PS Если повезет, то завтра тоже будет пост, полезный для владельцев своих социальных сеток на BuddyPress ;)
На днях по работе мне пришлось здорово поломать голову при работе с регулярными выражениями (регекспами от англ. – regular expressions). Проблема состояла в том, что до этого я их самостоятельно не писал и вообще не знал синтаксиса, а принимая во внимание, что доставать вопросами кого-то бы то ни было я не очень люблю, пришлось выкручиваться самостоятельно. Один грамотный человек, видя мои мучения, посоветовал найти в интернете программу RegexBuddy, которая, по его словам, мне облегчит жизнь.
Он оказался прав.
RegexBuddy - платная программа, стоит меньше $40, текущая версия – 3.5.0. По секрету скажу, что она есть на рутрекере (версия 3.4.2).
Регекспы используются почти во всех языках программирования и взаимодействия с клиентом (в том числе php и javascript). Они помогают пропарсить текст на предмет наличия определенной конструкции и возможности дальнейшей работы с этими полученными блоками. Можно:
просто узнать, если такое слово в этом предложении;
распознать ошибку в тексте и исправить ее на правильное слово/фразу;
произвести замену любого текста на любой текст;
менять построение текста (предположим, поменять блоки текста местами);
и много чего другого.
Можно заменять, фильтровать, объединять и делать кучу других операций, используя вот эти php-функции:
Кстати, для тех, кто собирается перейти на замечательный новый VDS хостинг и хочет сэкономить 10% при оплате в течение первых 3 месяцев, сделайте следующее:
После регистрации в разделе “Товары/Услуги” выберите FreeBSD VDS
Нажимаете кнопочку вверху “Добавить ВДС”
В появившейся форме выбираете тарифный план, оплату и вставляете код: BSD-Kw5mY
Все :)
PS Если вдруг код выдаст ошибку, пишите в комментариях, я напишу другой код:) Если вы использовали мой код, тоже напишите мне или через страницу Контакт, или в комментариях к этой записи.
Скоро я подробно напишу вам, как надо настраивать VDS на FreeBSD без apache.
Решил я сегодня глянуть на свой сайт сквозь призму возможных ошибок. В сам WordPress встроен механизм отображения ошибок всех запускаемых плагинов на front-end’e – так называемый debug-mode. Для того, чтобы увидеть ужас на своем сайте, вставьте в файл wp-config.php вот этот код:
if ( isset($_GET['mode']) && $_GET['mode'] == 'debug' )
define('WP_DEBUG', true);
В итоге при прописывании в строке браузера после url любой страницы сайта (в том числе и главной) ?mode=debug вы включите режим отображения ошибок. Если у вас стандартное отображение ссылок (то есть выглядит вот так: ?p=222), то надо прописывать следующим образом: ?p=222&mode=debug
А пока работа над новым постом об установке FreeBSD VDS зависла, я по-тихоньку добавляю всякие разные вещи для своего плагина BP GTM System. Фактически, основной функционал уже внедрен, осталось допилить его, добавить несколько ссылок для улучшения UX и UI, и можно будет делать релиз. Весьма надеюсь выпустить плагин до конца сентября, в крайнем случае в самом начале октября. Судя по отзывам, этот плагин стал “awesome” :) !
Его тестирование идет полным ходом на сайте . Он полностью на английском (потому что тестеры там тоже на английском говорят), но если появится большое количество желающих покрутить его до релиза на русском языке, то я запущу соответствующий поддомен. На данный момент все (почти все) возможности плагина описаны на странице .
Никогда бы не подумал, что это так важно, но, оказывается, в конце php-файлов лучше не закрывать php конструкцию фирменным ?> – это не гигиенично. А вдруг вы случайно поставите Enter после него? Или пробел… Или еще что непонятное, а после передачи в браузер эта конструкция выведет черт-те что. Причем тяжело предсказать, что именно, так как это зависит от файла, в котором была допущена такая оплошность.
Итак, php-файл, который содержит лишь php код, должен начинаться с <?php и не должен заканчиваться с ?>.
Написал тем людям, которые знаю, что любят самостоятельно что-то ковырять – но вдруг не понимают всей трагичности потенциальной ошибки…
Самым сложным для меня в программировании оказалось вовремя остановиться. Я достиг того уровня, когда могу воплотить то, что мне хочется, но все еще не умею вовремя останавливаться. Зачастую слишком много идей посещают, и крайне тяжело становится их классифицировать, распределять по степени важности и прочим критериям… Именно поэтому мне так нравится идея иметь под рукой (в интернете) нечто вроде менеджера задач. Думаю, все знают, что это такое, поэтому объяснять не буду. У меня есть отдельный сайт, на котором установлен , также иногда использую сервис Workable. Первый – монстрообразный, хотя жутко удобный, когда работает куча людей с крайне высокой активностью; второй – скромненький, с минимально необходимым функционалом, для пары человек. Оба – красивые по дизайну и функционалу. Оба – меня не удовлетворяют. Не могу точно выразить, чем именно, возможно тем, что написаны не мной :) А еще это крайности… Мне хочется чего-то среднего между ними, на основе своих же знаний о WP и BP (кстати, оба предыдущих варианта не знаю о существовании WP+BP). Вот я и задумался месяц назад…
А получился у меня BP GTM System, или BuddyPress Task Management System. Вот старая демка (ей пару недель):
Скоро я дам вам возможность самим крутить этот плагин на demo.