Архивы блога

Минимальное обновление для comments.php в WordPress 2.7

Если вы еще не хотите/не готовы полностью переработать вашу «тему» для поддержки новой функции комментариев WordPress 2.7, то сделайте хотя бы минимальное изменение:

Откройте ваш файл «темы» comments.php и найдите там строку типа такой:

<legend>Вы вошли как <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Выйти из текущего аккаунта">Выйти &raquo;</a></legend>

и замените в ней одну часть чтобы получилось так

<legend>Вы вошли как <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Выйти из текущего аккаунта">Выйти &raquo;</a></legend>

Отличие на первый взгляд малое, но работает кардинально по разному (про новый тег писала недавно Соника (ссылку на пост ставил я на днях у себя)

<?php echo wp_logout_url(get_permalink()); ?>

меняет вашу ссылку «выхода» с примерно такой

http://www.вашсайт.ru/wp-login.php?action=logout

на примерно такую

http://www.вашсайт.ru/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fwww.вашсайт.ru%2Fcategory%2nazvanieposta%2F&_wpnonce=f280f0b1cd

. Основное отличие в дополнительном параметре _wpnonce=f280f0b1cd без которого выход невозможен (кстати это тот самый параметр про кторый я писал что он появился в конфиге WP2.7), а остальное это просто говорит что после выхода редиректиться будет само на этот же пост.

Зачем все это нужно вообще? а чтобы не получить вот такую ошибку например при нажатии на эту самую ссылку «ВЫЙТИ» (и так будет показывать постоянно)
trouble_exit

24 комментария

О глючных «темах», избыточной нагрузке и глюках неизвестного происхождения на блогах

Вот уже не одну неделю копаюсь с парой сайтов, оптимизирую их и правлю баги. Стоит на них вот такая тема, которая при всей своей достаточной навороченности имеет один гагантский глюк! Обнаружил его вчера когда проверил в очень полезном сервисе для каждого вебмастера сколько «весит» главная страница сайта. После проверки у меня мягко сказать «упала челюсть». Более 4,5мегабайт, хотя визуально на сайте вроде все картинки мелкие и не весят столько ни при каком раскладе. Баг зарылся в файле thumb.php в самой теме. Что делает этот файл — создает при первом вызове миниатюры указанных картинок (пути к картинкам прописывает автор при создании поста в отдельном произвольном поле). Далее он все честно складывает в папку своего кэша, но почему то вместо названий файлов с расширениями jpg, png и т.д. нормальных выдает абракадабру без расширений. И ладно бытолько это — в браузер посетителю выдавалась при этом ПОЛНАЯ КАРТИНКА, хотя на экране были показаны эскизы около 100*100пикселей. Это легко было проверить даже вручную вызвав адрес «мини-картинки» в браузере. Начал копаться что к чему и почему. В скрипте обнаружил адрес создателей скипта. Полез на сайт и скачал свежую версию.  Размер файла значительно отличался от того что был в «глючной теме». Скопировал его на сервер в папку темы под именем старого и очистил папку кэша. Загрузил страницу и «челюсть упала» во второй раз. Теперь миниатюры создавались с корректными названиями, нормальных размеров и самое главное отдавались в браузер тоже нормальных маленьких размеров. Прогнал через вышеуказанный сервис страницу повторно и получил результат — вес страницы уменьшился в 5 раз! Не говоря о том что на неповоротливый апач лишняя нагрузка в виде постоянной загрузки объемных картинок ни к чему. Да и посетителю это понравится куда больше.

Кроме того я заметил что данный скрипт используется и в некоторых дорогих коммерческих темах, правда не смотрел есть ли там такой же баг — ночью было уже некогда проверять. Сегодня постараюсь выкроить время и потестировать.

Далее в программе
Продолжить чтение →

18 комментариев

Белый экран (Blank screen) при отправке комментариев

Вот такой прикол заметил во время тестирования одного сайта, который обновлял вчера. Причем проблема была только если комментатор не залогинен. Пользователь оставался на странице SITEURL/wp-comments-post.php без редиректа на страницу где писал комментарий. Такая же проблема на днях обсуждалась на форуме, но по ссылке там ничего конкретно тоже не было ясно, кроме как посмотреть на работу mod_security на сервере, что я сделать не могу.
Полдня пролазил в гугле-яндексе и нашел кучу подобных проблем и кучу совершенно разных решений. И самое смешное на том же сервере если закачать дополнительную директорию с WordPress и там настроить голый сайт то проблемы нет. Попробовал завести голый сайт в корневой папке — там проблема есть. Маразм. Пробовал как рекомендуют менять WWW на NO-WWW адрес в админке, пробовал перемещать WP в папку и указывать урл сайт на корень, но проблема оставалась. И попробовал последний метод, который почему то сразу отбросил когда находил (там была проблема с каким то плагином и тоже говорилось «про почту»)- отключил в настройках админки отправку писем администратору при добавлении нового комментария и вуаля! комментарии сразу стали добавляться без проблем. В чем прикол?

PS глюк присутствовал там на всех версиях 2.5.1-2.6.2 (кстати вышла сегодня, выложу вечером). Старые версии не проверял. Хостинг MCHOST.RU  :cry:

40 комментариев

Важное обновление для WordPress MU 1.5.1

Пока тестировал перевод, то с поддоменами проверял всего один раз, а потом делал просто режим поддиректорий. так мне было проще плодить десятки блогов без ухищрений с днс на домашнем компе.

Так вот русский язык автоматически включается только если вы выбираете режим ПОДДИРЕКТОРИИ, а при режиме ПОДДОМЕНЫ автоматически всегда при создании нового блога включался английский…

Вспомнил я что такой же баг был в версии 1.3.3 и CyberMax в комментариях написал решение. Тогда я его так и не проверил.. то ли времени не было, то ли мне не надо было. помню лишь что подсказал решение кому то кто просил и все. Так вот  баг перешел и в версию 1.5.1. Хорошо, что решается он тривиально просто. :-)

Поэтому если вы скачали дистрибутив до 21.05.2008  (до 10-00 по MCK) то можете скачать пропатченный файл на странице дистрибутива или дописать одну строчку сами по инструкции (там же). Читать там выделенное красным.

Дистрибутив также обновил.

4 комментария