Posts Tagged ‘wordpress’

WP 2.5.1 и прочие интерфейсные штучки

Tuesday, May 6th, 2008

Всё-таки поставила эту последнюю версию WordPress`а… Как и обещали все, кто в русскоязычной блогосфере отписался про 2.5 и 2.5.1, новый интерфейс админки не то, что бы совсем ужасает, но выглядит крайне непривычным, да. Мешает всё. Мешает избыток этого небесно голубого (даже если сменить гамму на classic), мешает перелопаченная навигация. Какие такие продвинутые информационные архитекторы консультировали разработчиков на предмет того, почему довольно простую и понятную двухуровневую навигацию нужно разделить на четыре отдельных информационных блока? А эти аяксовые блоки, имитирующие popup-окошки? Какой умный дизайнер придумал делать верхушку этих блоков тёмно-серой, в тон затемнённому основному контенту так, что бы крестик, закрывающий блок терялся и замечался только при пристальном разглядывании?

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

А вот ещё про бэкапы wp-блоггерам будет полезно: объявлен конкурс на лучший способ бэкапа блога, предлагайте ваши решения! Владимир Жилинский уже поделился своими идеями в посте “Резервирование и бэкап - зачем и как“.

И в качестве дополнительной приятности поставила плагин Gravatar, так что теперь в комментах могут показываться ваши авторские аватары. Зарегестрируйтесь на сайте http://www.gravatar.com/, залейте туда сколько хотите картинок ваших юзерпиков, выберите тот, который актуальный и всё. Дальше плагин сам найдёт, какую картинку подставлять в ваших комментариях. Посмотрите предыдущий пост - сразу видно, у кого есть граватары, а у кого стоят дефолтные заглушки!

В общем, надо покрутить, конечно, и потом уже делать выводы. Может и получится быстро привыкнуть. А по поводу всяких неудобных штучек в интерфейсе сегодня одна казусная ситуация напомнила такую спорную вещь: мы всегда стремимся упростить интерфейсные формы, упростить по-максимуму, в идеале - до одной функциональной кнопки. И вот появилась у нас форма с одной кнопкой, содержание (смысл и функциональность) которой менялось в зависимости от состояния формы. “запустить процесс”/”остановить процесс”, типа такого. Оказалось, что юзеров такая продвинутая функциональность сбивает с толку, они ВООБЩЕ не читают, что на кнопке написано. Поймав единожды содержание кнопки, юзеры не могут постоянно следить за кнопкой для того, чтобы узнать, когда содержание кнопки изменится. В том случае нам пришлось доработать кнопку визуальными средствами (Start был зелёненький, с текстом “Start”, а Stop - менялся цвет на красненький). Просто менять текст, не меняя ни расположение, ни форму - плохое решение.

А сегодня в “ответах на Google” (писала об этом сервисе совсем недавно) появился вопрос по поводу функциональности самого сервиса, автор вопроса не нашёл, как при добавлении ответа добавить ссылку и текст ссылки. Всего-то одно проблемное место: справа от поля ввода кнопка, на которой текст меняется с “Поиск” на “Добавить”, и человек просто не заметил того, что текст на кнопке изменился, а, следовательно, изменилась функциональность этой кнопки. Если бы хотя бы изменением цвета давать понять юзеру, что там что-то изменилось, и надо обратить внимание (или ещё один из часто используемых приёмов - добавляют мелкую иконочку слева от текста, образ иконочки подсказывает суть функциональности, иллюстрирует текст кнопки).

Otvety Google.ru
А это скрин этой же формы, когда добавляется URL:
Otvety Google.ru
А какие интересные решения для подобных же форм вы встречали (или разрабатывали)? Так, чтобы и форма не избыточная, и юзер в заблуждение не вводится?

Тюним мелочи в блоге на WordPress

Tuesday, February 19th, 2008

Опять рюшечки для блога: добавила несколько плагинов: Popularity Contest, Show Top Commentators… Этому блогу ещё и года нет, и всё казалось, что подобные рюшечки - ещё рано, мало контента, мало комментариев. Не из чего выбирать популярные записи. Но плагины понравились, особенно “Popularity Contest” - на бэкэнде даёт таблички со статистикой по записям, которая как бы и так известна и доступна, но не так наглядна. Статистика по популярным записям предсказуема (для меня), конечно, но пусть будет список, доступный всем посетителям. “Топ комментаторов” - это реверанс в сторону моих друзей, которые читают блог, поддерживают своими отзывами и, конечно, комментариями (Спасибо!). Списков в сайдбаре (в правой колонке) образовалось 10 штук - вот что делает с нами любовь ко вторичной навигации!

Есть один незатейлевый дизайнерский приём - в подобных ситуациях, когда нужно показать, что все эти списки предоставляют разные группы данных (или данные по разным фильтрам) - менять им маркеры; всего-то визуально — иконочка-козявочка, но поле-е-езная.
Маркеры в списках можно использовать из стандартных нумерованных-ненумерованных типов (для ненумерованных это circle, disc и square), но и создавать свои, уникальные иконки для списков; используют два самых простых способа, с помощью таблиц стилей:

1. обнулять стандартный тип маркера css свойством list-style-type:none; и после задавать свою картинку для маркера свойством list-style-image: url();
2. опять же обнулять стандартный тип маркера + обнулять поля и отступы у тега списка и задавать неповторяющуюся фоновую картинку для элемента списка. Вот этот вариант я и выбрала для блога. Версия движка WP стоит последняя, и панели в сайдбаре блога собираются соответственно wp widget`ом. Если не лезть в код слишком глубоко - каждому блоку в сайдбаре добавляется (через пробел) два класса, например, для списка категорий - class="widget widget_categories", для списка последних записей - class="widget widget_recent_entries", для последних добавленных комментариев - class="widget widget_recent_comments". Не мудрствуя лукаво добавляем в таблицу стилей блога дополнительные записи для описания этих классов:

.widget ul {margin:0px; padding:0px;}
.widget ul li {padding-left:20px;}
.widget_recent_entries ul li {background: transparent url(/wp-content/themes/default/images/ico-post.gif) no-repeat 0 0;}
.widget_recent_comments ul li {background: transparent url(/wp-content/themes/default/images/ico-comment.gif) no-repeat 0 0;}
.widget_categories ul li {background: transparent url(/wp-content/themes/default/images/ico-categories.gif) no-repeat 0 0; text-transform:uppercase;}

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

Вообще с этим виджетом интересно - к примеру, у него есть один из элементов - RSS (на самом деле этот элемент можно плодить, этих “списков” может быть в сайдбаре несколько). Тогда, если, к примеру, у человека по каким-то причинам ведётся несколько блогов, с помощью этого элемента можно включать блоки с последними записями (количество записей задаётся), и получать такие списки, как, к примеру, в харьковском тестовом блоге Nundesign: посмотрите в сайдбаре (правая зелёная колонка) блок “Последнее из блога NunDesign:” как раз выводятся 10 последних записей отсюда, из главного блога. Но так можно включать не только свои перекрёстные блоги, но и формировать простенькие миниинформеры для любых инфопроектов, которые отдают rss, или даже - продавать таким образом рекламное место. К примеру, на месяц. Это ведь очень удобно делать через виджет - и редактировать урлы, и контролировать количество записей, 10 - дороже, а последние пять, к примеру - в самый раз за недорого.

А ещё что-то не могу сообразить, как разделить виджет на два, чтобы можно было делать раздельные панели. И выводить на одной панели - одни виджет-элементы, на другой - другие; и как можно добавлять свои элементы в виджет - те же вставки для “популярных записей” и “рейтинга комментаторов”?

Ещё подключила Google XML Sitemaps, но его раньше не было не из-за того, что я считала, что блогу рано - просто упустила, недоглядела. Заодно наконец-то включила запись о карте сайта на блоге на Гугловских инструментах для веб-мастеров, Yahoo`вских и MS Live`вских.

А вот с ЖЖшным плагином LiveJournal Crossposter - пришлось отметить ту опцию, которую одно время отключала, потом обратно включала по просьбе френдов, по одной простой причине, о которой писала и раньше, да ответа тогда никто не подсказал. Уж не знаю в чём причина на самом деле :) но методом долгих и упорных экспериментов было обнаружено, что если в настройках плагина выбрана опция по-умолчанию ” Link back to WordPress”, то глюков с кросспостом в ЖЖ не замечается, если же дефолтовая заменена на “Use an lj-cut” (что означает, что в тех ситуациях, когда для длинных постов я использую скрытие части текста с помощью more, то при кросспосте в ЖЖ публикуется полный текст блога, и скрывается обычным ЖЖ-шным lj-cut`ом), то в случае, если пост нужно отредактировать - он отправляется в ЖЖ как новый пост, а не происходит редактирования старого. Так что эту опцию я вернула в дефолтовое состояние, извиняюсь перед теми, кому обещала в ЖЖ-шном дневнике полностью публиковать записи.

Тут не совсем понятно - в жж все записи всё равно постятся “только для френдов”, но, поскольку туда я захожу не часто, обнаружила, что появилось много френдов, которые, наверное, меня читают, вернее, хотели бы, но не могут из-за того, что записи friends only. Вчера написала открытую запись о том, что, мол, народ, который не зафренжен, объявитесь, я зафренжу, но только скажите, что вы не боты и не спамеры (а вот вывели ещё такой тип ботов - челоботы, чаще всего это или совсем начинающие владельцы своих блогов, или продажные комментаторы, которые постят комменты за ссылки, эта услуга, если я не ошибаюсь, до сих пор стоит 10 баксов за 1000 комментариев, хороший заработок для студентов)… Но пока… Молчат пока именно невзаимные френды. Может, они и в самом деле не настоящие? Или подождать, отозвутся ещё?

Яндекс.Вебмастер: мои ошибки

Monday, February 4th, 2008

Что-то неладное в нашем королевстве с начала этой недели… С раннего утра на улице удивлял странный, не из реальной жизни туман, в офисе половина моих дизайнеров дружно заболела, а я (тоже лучше бы дома осталась) сижу смотрю списки багов и ошибок; пытаюсь понять, что не так и как правильно. Отложив офисные баги на более подходящее время (когда вся команда соберётся), занялась разведкой NunDesign`ерских ошибок. К примеру, берём этот блог; вспоминаем про полезный тулз Яндекс.Вебмастер, заходим в профиль блога и видим… “Число ошибок: 624″ - нифига се… это много, надо что-то делать.

I. Больше всего (237 из 624) ошибок типа “Передано неверное количество данных”, что переводится как “Длина переданных данных не соответствует заявленной длине, т. е. передача данных завершается до или продолжается после получения заявленного количества данных.

Смотрим на ошибочные страницы, и выясняется, что в списке - все страницы, урлы на которые генерятся динамически вторичной навигацией. Т.е.:

  • Урлы из архива, к примеру /2008/02/, /2007/04/- они формируются по правилу привязки к дате в формате “главная”+”год”+”месяц”. В списке ошибочных - все “даты”, когда публиковались посты в блоге.
  • Вторичная навигация по категориям. Урлы в формате /category/design/, “главная”+”термин категория”+”имя категории”.
  • Теги (появились в пред- и последней версии WP, не плагин, родные движковые), типа /tag/analytics/, - “главная”+”слово tag”+”имя тега”.
  • Все комбинации этих вариантов с пейджингом если есть: /page/14/, /category/tools/page/2/, т.е к форматам предыдущим добавляется + “слово page”+”номер страницы”
  • но есть и никакие не вторичные, вполне законные страницы, написанные, сформированные и загружаемые по постоянному адресу, к примеру /tools/2007/05/my-wordpress-tamagotchi/. Т.е. подозрение на то, что чем-то не нравится вторичная навигация по типу WPвской - отметаются.

Смотрим дальше. (more…)

WordPress на IIS

Wednesday, December 5th, 2007

Привет уважаемым веб-разработчикам!

Кто-нибудь когда-нибудь тюнил WP под IIS`ом? Я вот в процессссссе. Обычный мультиавторский WP под обычный IIS. Первое, куда меня понесло - это настраивать пермалинки - Ха! Не смешите мои розовые тапочки! Какой .htaccess, какой mod rewrite?? (more…)

Опять среда: багрепорты.

Wednesday, October 24th, 2007

Ну вот… так всегда. Хотела проанализировать тексты интервью на конкурсе интервьюверов, а пишу о глюках и багах. Прежде всего, в силу вчерашних новостей видимо придётся вернуть кросспост в ЖЖ, но только не понятно, как это сделать таким образом, чтобы ЖЖ`шные читатели всё-же читали, но поисковики не злобили меня за дубли и не считали ЖЖ`шный блог главным. Если брать пост в скобки noindex, т.е. редактировать каждый пост после его кросспоста в ЖЖ - то это, мягко говоря, обесценивает сам факт кросспоста. Т.е. нужна помощь в доработке плагина таким образом, чтобы эти теги туда самопрописывались без меня. И, кроме того, озвученная в одном из предыдущих постов проблема с русифицированным плагином для кросспоста - когда к самому кросспосту претензий нет, но в том случае, если есть необходимость исходный пост отредактировать, он на ЖЖ отправляется новой записью с новым ID - т.е. дублируется. И таких редактированных дубликатов будет столько, сколько раз редактировался исходный пост. В комментариях на ЖЖ`шном блоге ребята написали, что родной плагин работает без этого глюка:

Вадим Вещезеров:
У меня оригинальный кросспостер( а не майвордпрессовский первод) работает без глюков ( на wp 2.3) Единственное неудобствов - режим комментирования выбирается для всех сразу

У меня и wp 2.3, и всё равно страшно, что опять поползёт глючность. А френды, соответственно, примутся обижаться, жаловаться и отписываться от блога.

А ещё один глючёк-с был обнаружен совершенно случайно, ибо если это и бага, то совершенно не мешающая мне жить до вчерашнего дня. Вопрос был в том, что понадобилось, чтобы в RSS отдавались полнотекстовые посты, а не обрезанные дескрипшины. Проверка же показала, что отдаются именно обрезанные. При этом настройки фидов были выставлены (как мне казалось) правильно: Options -> Reading -> Syndication Feeds -> For each article, show: (здесь две радиокнопки) стоял в “Full text”, и про замечание о том, что «Note: If you use the <!--more--> feature, it will cut off posts in RSS feeds.» - я не забывала. Т.е. считала, что пока я не пользую обрезку more, отдаются именно полные тексты, если же пользую - отдаётся всё до обрезки. Ан нет.

В общем, и здесь не обошлось без друзей. Жека Бондарев помог, не первый раз уже, умничка. Что мы изменили: в файле feed-rss2.php, который живёт в рубрике wp-includes, в 37`й строке (внимание! у меня он пока был не паченый + у меня wp2.3, т.е. со строками не привязывайтесь) строку
<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
заменили на
<description><![CDATA[<?php the_content() ?>]]></description>
Разумеется, я и здесь умудрилась стормозить - проверяла результат в том же FireFox`е, в котором отследила результат вывода до исправления, после исправления как блондинка жму на Reload, ничего не меняется. Ну ничего, тут я не долго тупила, проверила другим браузером, в общем, такой вот простенький пач работает отлично. Жека же говорит, что нужно написать багрепорт разработчикам WordPress`а, что их опция (в админке в настройке синдикации) не работает. А я говорю, что это же не я нашла баг - это же он придумал, что и где надо исправить. А он говорит что нет. Что как раз я обнаружила баг, мне и писать. В общем работает.

И то, что до сих пор у меня в состоянии подвисания и тупизма - это не работающая авторизация плагина для OpenID. Не работает. Почему-то. Разобраться не смогла. Народ, если там тоже надо что-то где-то пачить, подскажите мне, пожалуйста, а то нехорошо.

А вот такое - не пропачишь ничем (письмо от блондинки?) Приходит сегодня письмо от пользовательницы сервиса Content.Mail.ru (через форму обратной связи сервиса - надо же, не поленилась, ЗАШЛА НА СЕРВИС) следующего содержания:

Читателем Марина ( stells@ok.ru ) был введен следующий текст сообщения:

отпишите меня от Вашей рассылки

Речь в данном случае идёт о рассылке “Библиотеки Сайтостроительства”, которая выходит на контент.мейле. И я который раз в растерянности. Как, собссно, объяснить Марине, что у меня нет её логина/пароля на этом сервисе и сделать отмену действия, которое она сама до этого лично произвела (т.е. подписалась на рассылку, получила на подписной mail письмо с подтверждением подписки - а значит, зашла в интерфейс мейлсервиса под своим логином и паролем и нажала подтверждающую ссылку), как объяснить Марине, что её просьба не по адресу и сродни скорее “мама, роди меня обратно!”
Если блог читает уважаемый мною Александр, может, он или его помошники смогут помочь Марине?

А подобные же проблемы с участниками сайтостроительского дискуссионного листа? С периодичностью не реже чем раз в месяц (как правило, если после некоторого застоя кто-то в лист задаёт свой сайтостроительский вопрос) приходят в ответ сообщения в стиле “Вы кто и почему мне пишите??”, “Зачем вы задаёте мне эти вопросы?!” или вот как сегодня “Здрасть! а вы по какому поводу, я недогнал:( :))))” - и это я ещё опустила вопли с матами (в адрес вопрошающих в лист) за письма и даже обвинения в надоевшем спаме и требованиями опять же - прекратить это немедленно! И вот примерно так же чувствую себя - какого хрена, собссно, и что, собссно, я должна этим красавцам отвечать? Каждому читать лекцию о том, что такое дискуссионный лист и как они могли (самостоятельно) на него подписаться?? Хорошо ещё, что в листе стоит премодерация, которая, как минимум, защищает остальных (кроме меня) участников листа от тупящих ньюбов.

Э-э нужно ещё что-то, просто для того, чтобы закончить пост на позитивной ноте. Да, так вот, по поводу конкурса, о котором писала вчера. Если вам нравится этот блог, вы можете проголосовать за него или даже проголосовать+оставить комментарий на сайте thebobs. Спасибочки огромное всем, уже проголосовавшим! А вы заметили, как долго идёт модерация комментариев? Точно ведь вручную модерируют… проверяют уникальный IP, проверяют текст коммента на человечность…

Воскресное: апдейт WP до 2.3

Sunday, October 7th, 2007

Решила проапдейтить движок WordPress`а до проанонсированной две недели назад 2.3-ей версии. Просто так, из любопытства в большей степени - необходимости большой не было. Вы, конечно, все знаете, с чего начинается апдейт любого движка? Ага, верно, с бэкапов. Поскольку с блоговыми проектами много никогда не работала, и как там что надо бэкапить правильно - не в курсе, решила забекапить всё, что можно и всеми способами. Сначала - экспорт всех записей в .xml из админки (Manage->Export), потом (только не смейтесь надо мной, я же не знаю, правильно ли после сработал бы обратный импорт этого .xml`я в новый блог?) экспорт самой MySQL-евской базы с соотв. админки, потом - бэкап всех шаблонов, имиджей, стилей, донастроек и плагинов.

Сам апдейт происходит без приключений - скачиваете, распаковываете, предподготавливаете из “wp-config-sample.php” свой “wp-config.php”, обратите внимание, добавились два объявления:

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

ну, так вы их не удалите там ненароком :); и запускаете апгрейт в браузере по ссылке “ваш блог”/wp-admin/upgrade.php - два шага, и он готов. И дальше всей работы - вернуть как положено визуальную тему и оттюнить мелочи, которые и не записываешь никогда, а вспомнить - вот фиг вспомнишь. А новенький WP ничего, пока нравится. Можно запросто поудалять несколько плагинов. Во-первых, теперь не нужны дополнительные плагины для того, чтобы вывести в sidebar`е “последние посты” и “последние комментарии” - они уже есть в базовой поставке движка. Во-вторых добавились, наконец-то, “метки” (”tags”) - а то тут прямо логический кризис был - никак не хотелось признавать, что “категории” (суть разделы/подразделы) и “теги” - это одно и тоже. Т.е. появился новый объект - позволено усовершенствовать вторичную навигацию. Есть так же и “облако” этих самых “тегов” (я пока что его включила, надо поэкспериментировать, хотя не всё нравится). И вот вся эта красота сайдбара теперь может управляться из админки как отдельный объект - виджет (`s), да прямо для блондинок - перетаскиванием из общей панели в сайдбар отдельные виджеты могут быть включены и выключены обратно. Так, сейчас там управляемо “Tag Cloud” (”Облако тегов”), “Text” (можно добавить текст типа “обо мне”), “Recent Post”/”Recent Comment” (вот как раз последние записи/последние комменты), “Calendar”, “Categories” (сие и есть старые категории), - ну эт понятно из старого, всё остальное - всё те же стандартные элементы сайдбара предыдущей версии - Archive, Meta, Links, Pages, Search…

Календарик очень миленький, с “архивом” вместе создают хороший навигационный блок по датам. Пока оставила оба, хотя что-то мне подсказывает, что кто-то там из них лишний. Надо будет его только чуть раскрасить, что-то он бледноват на вид. Таким образом, из плагинов оставила (активировала заново) только “дерево комментариев” (By Brian Meidell, только качайте ту версию, последнюю, которая с Google), кнопки для социальных закладок от Антона Жучкова, и обе статистики - WordPress`овскую и Reinvigorate - более модную, детальную и познавательную, которая стоит уже полгода (как видно из архива записей).

Облако тегов… В общем, его вывод формируется, как я нашла, в файле category-template.php. В строках 310 и 333 можно увидеть две функции, в которых и задаётся минимальный размер элемента облака, максимальный, еденицы измерения размера шрифта, количество элементов облака (по умолчанию 45) и сортировка (по какому типу и в какую сторону), по умолчанию сортирует по имени в прямом (алфавитном) порядке. Есть идея - может эти 45 выводить по дате? Сейчас просто редактировать все посты, включать в них теги - чуточку лениво, т.е. пртестировать большое облако пока не выйдет. Может, со временем…
Ещё, конечно же, общее оформление облака. Заменила дефолтовые значения для шрифта - пункты на пиксели (может, получится шаг по одному пикселю менять? А то уж больно здоровое облако рождается), дефолтный размер минимального - соотв. с 8 пунктов на 10 пикселей, и в ссылке добавила к классу “tag-link-$tag_id” через пробел свой класс, где задала цвет шрифта и фончик под метками (белый на общей бежевой панели).
Да, метки, которые выводятся в посте - их оформление поправляется в файше index.php, строка 17. Там можно разделить один параграф(и метки, и метаданные пока в одном теге P, разделенные BR-ом) на два, и задать им разные классы:

<p class="postmetatags"><?php the_tags('Tags: ', ', ', '</p>'); ?> <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p>

тогда метаданные поста можно оформить как обычно, а метки - выровнять по левому краю, сделать их помельче-побледнее, чтобы не мешали.
Непонятка у меня с папкой UpLoad, куда грузились все картинки/иллюстрации для блога. Они почему-то потерялись. Вернее папка есть, иллюстрации есть, а в коде их нет. И опять забыла - что надо сотворить с этой папкой, чтобы туда без проблем осуществлялся аплоад имиджей? Права на запись и в папки, и в подпапки вроде проверила, есть. Что ей ещё может быть надо?

Да, и вот что… отменила кросспост в ЖЖ`шный блог. Видимо, не нужно оно. Может, сие временное, попустит, и верну, но пока кросспоста не будет. Так что здесь будет такой вопрос для экспериментаторов - раньше именно WordPress`овские категории интерпретировались плагинами для кросспостов как “метки”, и после кросспоста прописывались в дочернем блоге именно на месте меток. А как будут работать подобные плагины сейчас? Будет ли поддерживать новые “метки”? будет ли поддерживать, как и раньше, старые “категории”? Будет их складывать?

В целом новой версией довольна, пока глюков не обнаружено, сырой её не считаю и рекомендую. Обновляйтесь успешно!Ну и заходите здесь чуток, помогайте тестировать. Комментировать, кликать на разные ссылки. Где там ещё что недосмотрено у меня?


Free Hit Stats