Архив категории: ‘WordPress’

Реализация кросспостинга в LiveJournal (ЖЖ)

Friday, 22 Feb 08 в 2:09

Реализация кросспостинга в LiveJournal (ЖЖ)Продолжаю тему кросспостинга. С теоретической стороной вопроса мы ознакомились в прошлый раз. Если, взвесив все за и против, вы все же решились создать трансляцию в ЖЖ, то данная заметка может вам очень пригодиться. Остальным будет просто полезно почитать для общего развития. Кто знает, может походу текста, убедившись, что в данном процессе нет ничего сложного, вы тоже захотите реализовать кросспостинг.

Для осуществления кросспостинга нам понадобиться соответствующий плагин - lj_crosspost_2.0. Установка его достаточно простая: заливаем файл плагина lj_crosspost.php в папку wp-content/plugins/ и в адмике активируем его в меню Plugins. После этого в пункте Options можно появится вкладка с настройками модуля - LiveJournal.
Рассмотрим все доступные опции более подробно для тех, кому сложно или просто лень вчитываться в английские описания полей:

Настройки кросспостинга в ЖЖ

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

LJ Username - имя пользователя ЖЖ.

LJ Password - ваш пароль на ЖЖ. При изменении настроек он не отображается, тем не менее вводить повторно не требуется. Только если вы захотели изменить его значение.

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

Кросспостинг в LJ

Crosspost header/footer location - расположение подписи о том, что данный блог является кросспостом и где можно найти оригинал чтобы прокомментировать. Доступны варианты либо перед записью (header) либо после (footer).

Set blog name for crosspost header/footer - здесь выбирается имя блога в тексте: первая настройка оставляет название, определенное автоматически, вторая позволяет написать свой вариант.

Custom blog title - если в предыдущей настройки был выбран свой вариант имени блога, то в этом поле следует непосредственно указать требуемое название.

Custom crosspost header/footer - по умолчанию до или после постов выводится сообщение на английском - «Originally published at [имя_блога]. Please leave any comments there». В данном же поле можно полностью изменить формат выводимой записи. Для ее формирования предлагается использовать 4 дополнительных параметра:

  • [blog_name] - имя блога, определенное выше.
  • [blog_link] - ссылка на ваш блог.
  • [permalink] - ссылка на конкретный пост, под которым располагается надпись.
  • [comments_link] - ссылка на блок комментариев той или иной записи в вашем оригинальном блоге.

Внимание! Здесь был замечен первый глюк плагина. Использование русских букв в данном поле вызывает неоднозначную реакцию после обновления опций или запуска кросспостинга - а именно непонятным образом слетает кодировка введенного текста. Это не есть критично, но при повторном сохранении настроек текст в этом поле обязательно нужно будет изменить на правильный. В противном случае в блоге на ЖЖ появятся нехорошие нечитаемые символы:)

Я попытался исправить этот глюк в самом коде плагина, но так и не нашел конкретное место изменения кодировки. Некоторые промежуточные тесты показали, что хранится запись правильно и вполне читаемо. Поскольку этот глюк не критичен, я не стал продолжать поиски. Если у вас все же испортилась кодировка в блоге-клоне, не паникуйте, спокойно исправьте текст в поле Custom crosspost header/footer и проведите кросспост заново. Чтобы было понятнее приведу текст, используемый мною:

<p style=”border: 1px dotted black; padding: 3px;”><b>Внимание! Оригинал статьи размещен в моем блоге <a class=”snap_shots” href=”[blog_link]“>[blog_name]</a>.<br/>Чтобы принять участие в обсуждении пройдите по <a class=”snap_shots” href=”[comments_link]“>этой ссылке</a>.</b></p>

Кросспостинг в ЖЖ - настройки

Post Privacy - определяем уровень доступности экспортируемых в LJ записей - публичны/скрыты/только для друзей.

LiveJournal Comments - управление комментированием. Выбор первой настройки означает, что пользователь должен будет в обязательно порядке перейти на ваш блог дабы оставить свой комментарий. Второй вариант позволяет включить комментирование в самом ЖЖ.

LiveJournal Tags - первая опция будет подставлять в качестве тэгов ЖЖ блога значения категорий из вашего оригинального сайта. Чтобы отключить эту возможность выберите второй пункт.

Handling of <!–More–> - данная настройка определяет каким образом LiveJournal должен реагировать на тег <!–More–>. Доступны варианты: Link back to WordPress - ставится ссылка на оригинальный пост, Use an lj-cut - используется аналогичный тег в ЖЖ, Copy the entire entry to LiveJournal - копируется текст заметки целиком без всяких разбиений.

Category Selection - выбираете категории, которые вы хотите транслировать при кросспостинге.

После установки всех настроек нажимаем кнопку Update Options and Crosspost All WordPress entries. Справа от нее находится кнопка, позволяющая только обновить опции без произведения операции кросспостинга. Все сохраненные в данном случае настройки будут справедливы лишь для последующих постов.

Проблемы: могут возникнуть у пользователей с кодировкой блога windows-1251. Если вы используете сборку от maxsite.org, то вам должно помочь добавление в самое начало кода плагина (сразу после комментариев) строки:

$LJ_CLIENT_CHARSET = “UTF-8″;

Еще один вариант исправление ошибки. Это замена строк:

$args['event'] = $the_event;
$args['subject'] = apply_filters(’the_title’, $post->post_title);

На

$args['event'] = iconv(’CP1251′, ‘UTF-8′, $the_event);
$args['subject'] = iconv(’CP1251′, ‘UTF-8′, apply_filters(’the_title’, $post->post_title));

Кстати, Денис Болтиков предлагает создавать для блогов-клонов синдикационные аккаунты:

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

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

На последок хотелось бы добавить, что в процессе кропсспостинга могут возникнуть разные проблемы, не рассмотренные сдесь. Причин может быть уйма - старая версия Wordpress, временные глюки в ЖЖ или в самом плагие. Люди пишут, что иногда при редактировании в оригинальном блоге информация не заменяется в LiveJournal или, например, при сохранении в черновиках новый пост все равно добавляется на ЖЖ. В общем, с хорошим кросспостингом везет не каждому.

В данный момент я использую версию Wordpress 2.3.x, пока все работает нормально. При появлении дополнительной информации обязательно напишу. Если что-то в посте оказалось вам непонятным, задавайте вопросы в комментариях.

Установка Gravatar на свой блог

Tuesday, 15 Jan 08 в 23:12

Установка Gravatar на блог с WordpressКак и обещал, продолжаю тему Gravatar- глобально распознаваемого аватара для блогов. Установка данной функции в качестве плагина поддерживается на основных блоггерских платформах (MovableType, WordPress, TextPattern), а также сервисах Blogger и LiveJournal. Кроме того, на официальном сайте есть подробная документация по принципам работы и установке аватарок на любой другой ресурс с помощью PHP, PERL, ColdFusion или Java.

Разберем установку Gravatar`а для WordPress. Нашел в репозитории сразу 3 плагина для решения данной задачи.

Gravatar 1.1 - плагин, который упоминается на основном сайте сервиса. Официально поддерживается в версии WordPress 2.2, хотя, думаю, успешно работает и на многих других, так как ничего сложного там нет. Он добавляет тэг gravatar, который используется движком для вывода корректного УРЛа граватара. Изображение базируется на введенном комментатором email`е. Скачать здесь: wp_gravatar.zip. Лично я устанавливал именно этот плагин, версия WordPress 2.3.1.

Gravatars2 - судя по описанию, поддерживает кэширование плагина и обладает возможностью переопределения аватара в теле сообщения.

Easy Gravatars Plugin (Easy Gravatars Plugin) - по словам автора, плагин разработан чтобы быть наиболее простым в использовании - нужно только установить и активировать. Если же вы хотите большее количество настроек, то просто заходите в админке на страницу опций плагина, где можете спокойно добавить размер, рейтинг для аватарок, установить путь к изображению по умолчанию и немного «поиграться» с CSS.
Страница автора с обсуждением плагина здесь (eng).

Установка Gravatar 1.1
Скачайте плагин и скопируйте его на ФТП в вашу директорию с плагинами WordPress, расположенную в /wp-content/plugins. После этого в активируйте его адмике (закладка “Plugins”). Все:)

Для использования gravatar нужно соблюдать следующий синтаксис:

<?php gravatar({rating{, size{, default{, border}}}}) ?>

Все параметры необязательные. Например, следующая настройка создаст УРЛ для gravatar`а, который разрешает использовать иконки всех рейтингов размерностью is 80×80 пикселей, без изображения по умолчанию и границ:

<?php gravatar(); ?>

Если вы хотите ограничить аватарки рейтингом R и ниже, используйте:

<?php gravatar("R"); ?>

Для задания размеры картинки добавляем требуемое расширение в пикселях в качестве второго аргумента:

<?php gravatar("R", 40); ?>

Чтобы использовать собственную аватарку в качестве изображения по умолчанию (показывается, когда у того или иного пользователя нет граватара или он не подходит по рейтингу), пишем:

<?php gravatar("R", 40, "http://www.somewhere.com/heatvision.jpg"); ?>

Кроме того, вы можете добавить рамку в 1 пиксель любого цвета:

<?php gravatar("R", 40, "http://www.somewhere.com/heatvision.jpg", "FF0000"); ?>

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

Внимание! Помните, что плагин генерирует только УРЛ, поэтому вы должны разместить тэг граватара внутри атрибута src для тэга img:

<img src="<?php gravatar() ?>" alt="" />

Все. Наслаждаемся сервисом у себя в блоге. Если есть какие-то замечания или информация о глюках в работе Gravatar`а, пишите в комментарии.

Управление блогроллом в WordPress

Wednesday, 28 Nov 07 в 1:47

БлогроллСегодня, как и обещал, немного о реализации блогролла под Wordpress. Что это за штука такая и зачем нужна - читаем в предыдущей заметке: Все о блогролле - зачем и как лучше его делать.

Самый простой способ добавить данный элемент на сайт - это конечно правка того или иного php файла исходников установленной темы Wordpress. Но этот не очень хороший метод, тем более что в системе (по крайней мере - точно в версии 2.3.1) для этих нужд есть специальный пункт настроек - Blogroll Management.

Blogroll management

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

Manage Blogroll (см. изображение выше) - позволяет просмотреть все ссылки с возможностью выборки по определенным категориям или типом сортировки. Здесь же можно перейти к редактированию или удалить одну и более ненужных ссылок.

Add Link - пункт для добавления новых ссылок в блогролл. Здесь можно задавать как базовые свойства - имя, адрес и описание, так и продвинутые - изображение, адрес RSS потока, рейтинг и небольшие заметки. Кроме того, есть возможность использовать настройки в правой колонке окна, где происходит присваивание категории, указание для ссылки открываться в текущем или новом окне, а также обычное задание ее видимости (отображается/скрыта).

Создание ссылки в блогролле

Import Links - импорт из OPML файла. Честно говоря, не особо в курсе что это такое, какой-то импорт:)

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

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

Что касается непосредственно моего блога, то я использую для отображения всего одну категорию - «Интересные блоги». Кстати, ее название автоматически отображается в шаблоне в качестве заголовка всего блока. Далее ссылки расположены по рейтингу. Я уже говорил, что для каждой ссылки можно указать некое значение рейтинга. Именно его я использую для сортировки ссылок в блогролле - наиболее активные и читаемые мною блоги находятся выше. Значения оценок изменяются от 1 (максимально высокая позиции) до 9 (минимальная).

Теперь немного слов о том, как я добился такого эффекта. Стандартными настройками, увы, обойтись не получилось. А установленная в блоге тема не поддерживает виджеты, посему все правки производились в коде. Вполне вероятно, что, используя какой-то виджет, вы запросто сможете указать тип и порядок сортировки. А пока рассмотрим мой вариант.

Для работы с блогроллом и ссылками используется следующая функция:

<?php wp_list_bookmarks(’arguments’); ?>

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

Общий алгоритм действий довольно простой:

1. Открываем нужный нам файл темы WordPress. Как правило, блогролл находится в боковой колонке - что-то типа sidebar.php. Доступ к файлу имеем либо по ФТП, либо из админки непосредственно.

2. Находим в файле нужное место, где уже есть данная функция (или просто место куда мы хотели бы ее вставить) и добавляем нужный код. Для сортировки по рейтингу достаточно написать:

<?php wp_list_bookmarks(’orderby=rating’); ?>

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

<?php wp_list_bookmarks(’orderby=rating&show_rating=1′); ?>

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

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

1. Находим в исходниках админки (папка wp-admin) файл link-manager.php. Копируем себе на комп для правки, предварительно сделав резервную копию на всякий случай.

2. Находим в коде блок:

$link_columns = array(
‘name’ => ‘<th width=”15%”>’ . __(’Name’) . ‘</th>’,
‘url’ => ‘<th>’ . __(’URL’) . ‘</th>’,
‘categories’ => ‘<th>’ . __(’Categories’) . ‘</th>’,
‘rating’ => ‘<th>’ . __(’Rating’) . ‘</th>’,
‘rel’ => ‘<th style=”text-align: center”>’ . __(’rel’) . ‘</th>’,
‘visible’ => ‘<th style=”text-align: center”>’ . __(’Visible’) . ‘</th>’,
‘action’ => ‘<th colspan=”2″ style=”text-align: center”>’ . __(’Action’) . ‘</th>’,
);

Туда добавляем строку для отображения колонки рейтинга (выделена жирным шрифтом).

3. Далее находим блок переключения case, который начинается со строчки

switch($column_name) { ….

В нем по аналогии с полем rel или visible добавляем код для рейтинга:

case ‘rating’:
?><td><?php echo $link->link_rating; ?><br /><?php
break;

Вставляйте код внимательно дабы не повредить конструкцию.

4. Сохраняем файл и перезаливаем его на ФТП. Заходим в админку, открываем наш менеджер ссылок и любуемся рейтингом ссылок:

Блогролл с рейтингом

Кстати, одинаковые по рейтингу ссылки, насколько я понял, дальше сортируются по наименованию. Но это, в принципе, не столь существенно, поскольку можно выставить оценки от 1 до 9ти. Всем должно хватить.
Не забываем подписываться на RSS.

Страница 6 из 7«1234567»