Просмотр архивов по тагу: ‘Wordpress’

Управление категориями в WordPress

Совсем недавно я совместил архивы старых своих блогов (slaff.co.nr, slaff.info, slaff.net до реинкарнации) в один текущий. Мутация записей и комментариев прошла вполне успешно. Однако возникла одна проблемка, которую я изначально не предусмотрел.

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

В базе плагинов WordPress мне не попалось ничего дельного и полезного для управления категориями. Лезть в базу руками нет никакого желания и считаю это крайней мерой (уж если ничего не найдется, то тогда ...).

Если у кого-то есть опыт, плагин в наличии или что-то можете посоветовать, то я с удовольствием приму ваш опыт и идеи.

WordPress-шаблон «Simple Leopard» (pre-release)

Leopard меня прямо-таки вдохновил и для свой авторской колонки «Нефанатичный блог про макинтоши» я сделал простенькое оформление в виде Finder. Но я решил не останавливаться на этом, а сделать ее для всех. Название — это первое что пришло в голову. Возможно позже с релизом шаблона я его изменю. Ниже пара скринштов:

WordPress Theme - Simple Leopard. Front view

WordPress Theme - Simple Leopard. Single Page

Название: Simple Leopard
Версия: 1.0 pre-release.

Описание: widget-ready шаблон. Для тех, кто не пользуется виджетами шаблон полностью готов к использованию без редактирования сайдбара и т.п. Хотя кое-какие мелочи на усмотрение каждого нужно подправить. Но основная масса работы уже сделана.

Демо: здесь.
Скачать: прямая ссылка.

Баги, пожелания и рекомендации мне в почту или тут в комментариях.

Обновление WordPress 2.3

Новая версия в целом мне понравилась. Особенно, если ее ставить с нуля. А вот если апгрейдить на блог с 3мя годами регулярной писанины, актиновного использования тагов, разных плагинов и т.д. и т.п. То вот тут возникают сложности.

Вообщем, проблем дофига. Это самый глючный wordpress-апгрейд, с которм мне приходилось иметь дело. На данный момент я поотключал часть плагинов, среди них наиболее использумые всеми пользователями WordPress. Quoter глючит, его автору по фигу вроде как, мне тем более. Search Hilite подглючивает. Незаменимый плагин Google Sitemaps Generator пришлось отключить, потому что он провоцирует глюк в комментах.

Родные таги меня не очень порадовали. Их реализация, точнее frontend для пользователя просто ужасен. Поле ввода можно было бы сделать более динамичным и использовать ajax (вот тут он как раз очень нужен) для автодополнения слов. Вне loop'а их нельзя вывести. А разработчики WP предлагают использовать более навороченные плагины для управления тагами. Спрашивается на какой хрен мне из-за этих родных тагов отказываться от UTW?

Автосохранение поста в драфты глючит. Выводит ошибку при соединении с базой. Разбираться с этим нет никакого желания и тем более времени. Похожая фигня была с комментами, но там причина выяснилась методом тыка.

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

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

А я теперь точно начну искать альтернативу, благо есть из чего выбирать.

Вывод ссылок в WordPress 2.1

Сегодня прямо день консультаций по WordPress. Буквально сейчас упало в почту сообщение с сайта с просьбой помочь разобраться в простом вопросе. Ответить почтой не получилось, т.к. Яндекс думает, что email отправителя не существует. Цитирую вопрос:

Никак не могу разобраться с Blogroll-ом в WP-2.2.1…

Вопрос 1: как его убрать из рубрикатора (списка категорий)?

Вопрос 2: как создавать разделы ссылок? Например, один раздел «ссылки» в колонке, второй — «реклама» в подвале.

Вопрос 1. Честно говоря, у меня такой проблемы никогда не возникало. Не думаю, что здесь есть какой-то особый секрет. В любом случае: категории для ссылок я создавал всегда в разделе «Links», а обычные категории добавлял через «Manage -> Categories». Может в этом кроется ответ на данный вопрос.

Вопрос 2. Ну это совсем просто. Нужно было только в Codex заглянуть. Функция get_links (); отвечает за вывод ссылок в WP:

get_links( category, 'before', 'after', 'between', show_images, 'order', show_description,show_rating, limit, show_updated , echo);

Пример. Есть 2 категории в линках: Друзья (id=1) и Реклама (id=2). ID можно узнать в общем списке категорий.

Для сайдбара «Друзья»:

get_links(1,'before', 'after', ' ', FALSE,  'name', FALSE, FALSE, -1, TRUE, TRUE);

Для футера «Реклама»:

get_links(1,'before', 'after', ' ', FALSE,  'name', FALSE, FALSE, -1, TRUE, TRUE);

* Примечание. WP съедает html код в примерах, поэтому обратите внимание следующее:

before — это открытие списка (таг LI в скобочках)
after — соотвественно закрытие

Вообщем, все предельно просто. Ответы лежат в изучении английского языка и Codex WordPress.

Отделение trackbacks от комментариев в WordPress

Денис спрашивает в Google Groups такую интересную вещь:

есть ли какая-то возможность повесить на трекбеки в комментах отдельный класс, чтобы выделить трекбеки визуально?

Если Вы уже обратили внимание, то у меня блоге trackbakcs и pingbacks отделены от комментариев вообще. Это и визуальнее удобнее, и комменты не загрязняет. А то бывает как натрекбекят. Ну так вот, делюсь с вами очень простым способом отделения трекбеков от комментариев в WordPress.

Тип комментов определяется очень просто. Чтобы вывести только комментарии в списке, достаточно всего-лишь указать эту вещь в цикле foreach:

if (get_comment_type() == "comment")

Далее вам нужно просто сделать 2 списка. В 1ом будут выводиться только комментарии, а во втором пинг- и трекбеки. Чтобы вывести трекбеки и пингбеки в отдельном списке, нужно использовать отдельны запрос и установиь get_comment_type () не равным типу comment (тоже в цикле, как и ранее):

$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' AND comment_approved = '1' AND comment_type!= '' ORDER BY comment_date");
# удаляем комменты из списка
if (get_comment_type() != "comment")

Далее, остается только сделать css-классы для более интересного оформления. Пример готового шаблона comments.php можно скачать здесь (файл в кодировке UTF). Этот же самый шаблон я использую в оформлении S@R.

Из записок для WordPress Cookbook.

Бесплатные хостинг-сервисы для блогов

Недавно меня спросили в личной беседе, что я думаю о появлении еще одного бесплатного блог-хостинга на базе WordPress. А сегодня на toodoo.ru интервью с Александром Бишоп (сорри, если фамилию не правильно склоняю) о его сервисе Lank.ru. Я уважительно отношусь к разного рода идеям, но все-таки свое скромное imho выскажу.

Заявляю: Я против таких бесплатных сервисов! Моя точка зрения основывается на том, что эти все бесплатные блогохостинги в определенный момент крякнуться. Тем более, в ру-блогосфере халявные блоги — это бесспорное преимущество у ЖЖ и блогов Mail.ru. А появляение таких сервисов без четкой схемы заработка на нем же — это только тормоз блогосфере и профессионалам вообще. Если владелец предполагает определиться с этим вопросом потом — то это вообще получается «Алиса в стране чудес». Если сразу не говоришь пользователю, что вот за это и за это я беру деньги, то потом вообще фиг с него чего возьмешь.

Не, конечно, когда у владельца такого сервиса есть желание отдавать свои деньги на оплачивание хостинга для халявщиков (меня сюда не впутывайте, я по своим причинам раздаю бесплатно хостинг) и при этом даже не зарабатывать с них никаким образом — то вопрос с повестки дня снимается. А с другой стороны, возникает вопрос: а на хрена? (© сами знаете кто).

Уважаемый читатель, не подумай, что я тут эмоции свои выбрасываю. Нет, это совсем не так. Мне просто интересно, на хрена работать бесплатно неизвестно ради чего?

PS. При всем при этом, я думаю, что у Lank.ru возможно и будет будущее, но это мы еще посмотрим.

Контент только на главной странице

Небольшой trick по WordPress для Mblog.ru (откройте комменты что ли там). Просто is_home (); в этом случае не поможет, я не знаю почему, никогда не вдавался в подробности. Показать контент только на главной можно таким образом:

< ?php
	if ( (is_home()) && !(is_page()) && !(is_single()) && !(is_search()) && !(is_archive()) && !(is_author()) && !(is_category()) && !(is_paged()) ) { ?>

	Это увидят только на главной странице блога
< ?php } ?>

PS. А кто-то успехался тут недавно ;)

WordPress Cookbook. Создание шаблона с нуля

Прочитал две статьи на тему «Как создать шаблон для WordPress» и был крайне удивлен подходу создавания шаблона. На мой взгляд, оба описания предлагают более трудоемкий и непрактичный подход. Я не люблю долго возиться с шаблонами и предпочитаю группировать все элементы как можно плотнее, избегая при этом лишнего кода. Отчего мои верстки для WP не страдают насыщенностью запросов.

В связи с этим я тоже решил поделиться своим опытом и предложить свой метод создания шаблона с нуля, который, на мой взгляд, практичнее и удобнее. Хочу отметить, что данный ebook — это мой личный опыт и я постарался наиболее просто показаться свой метод создания шаблона для WordPress.

Особенности моего метода — это компактность, практичность, удобство и универсальность. В ebook'е приведены полные листинги кода, этот же код я использую как базовый в шаблоне Slaff @ Reworked и других свох блогах. Я намерянно опустил ту часть, в которой следовало бы рассказать о CSS, потому что это несколько другая тема.

Скачайте и прочитайте ebook «WordPress Cookbook. Создание шаблона с нуля.» Распространяйте эту книжку в любом виде.

WordPress Cookbook. Создание шаблона с нуля.

Апгрейды WordPress

Меня начинает раздражать такие частые апгрейды WordPress. Неуспели выпустить релиз новой версии и уже 2 апгрейда меньше, чем за 3 недели. Я бы так не горячился, если бы в моих руках был только 1-2 блога, но если их десяток и другой десяток сайтов на WP и многие на разных хост-провайдерах?

УжОс нах. Субботняя ночь под флагом апргейдов ВП! Замечательно!

Оптимизация сайтов на WordPress

И как у людей 2ым днем в новом году голова еще работает и позволяет сознательно делать какие-то важные вещи? Не понимаю, но в группе ru-wordpress интересный тред завелся сегодня утром про оптимизацию сайтов на WordPress.

От малого к большому или наоборот, вообщем как это делаю я? Процесс оптимизации сайта, блога на WordPress дело вообще простое, но требующее немного времени и внимания. Поэтому поделюсь опытом. В основном всякого рода оптимизация у меня происходит в темплейте блога. В нем я стараюсь ввести, указать все данные напрямую, ручками , и не через обращение к базе.

Т.е., к примеру кодировка в обычном виде указывается и значение charset берется из поля в БД, которое мы заполнили в админке:

meta http-equiv="Content-Type" content="text/html; charset=< ?php bloginfo('charset'); ?>"

Это лишнее, я её просто прописываю как обычно:

meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

Или также в контекте название какого-то блока, заголовка (разумеется в нужных нам тегах, которые я в примере просто опустил):

< ?php _e('Название чего-то там'); ?>

Можно ведь просто так:

Название чего-то там

Ну и так далее. Для всех плагинов, которые предлагают использовать кеширование — использую эту опцию. Также для WP отдельно wp-cache2 (вышла новая версия, кстати).

Дополнительно к этому в WP можно очень просто организовать подключение каких-то скриптов, выполнение каких-то разовых функций только там, где это можно (используя is_home, is_single, etc.). Т.е. везде, где можно избежать обращения к базе данных — надо его избегать. Таким образом понижая кол-во запросов к БД.

Хотя с другой стороны, в WordPress довольно хорошо продумана как раз эта часть — обращения к базе данных (про это на Maxsite.org довольно много написано). Так что по сути дела, такой оптимизацией лишь немного ускоришь работу шаблона. И ради всего святого, уберите из ваших темплейтов лишние кнопочки и никому не нужные рейтинги, счетчики.