Реализация кросспостинга в LiveJournal (ЖЖ), плагин wordpress
Продолжаю тему кросспостинга. С теоретической стороной вопроса мы ознакомились в прошлый раз. Если, взвесив все за и против, вы все же решились создать трансляцию в ЖЖ, то данная заметка может вам очень пригодиться. Остальным будет просто полезно почитать для общего развития. Кто знает, может походу текста, убедившись, что в данном процессе нет ничего сложного, вы тоже захотите реализовать кросспостинг.
Для осуществления кросспостинга нам понадобиться соответствующий плагин — lj_crosspost_2.0. Установка его достаточно простая: заливаем файл плагина lj_crosspost.php в папку wp-content/plugins/ и в адмике активируем его в меню Plugins. После этого в пункте Options можно появится вкладка с настройками модуля — LiveJournal.
Рассмотрим все доступные опции более подробно для тех, кому сложно или просто лень вчитываться в английские описания полей:
LiveJournal-compliant host — дело в том, что плагин поддерживает кросспостинг не только в сам LiveJournal, а и подобные сервисы, использующие его движок. Если вы хотите поститься на один из таких сайтов — впишите его хост в этом поле.
LJ Username — имя пользователя ЖЖ.
LJ Password — ваш пароль на ЖЖ. При изменении настроек он не отображается, тем не менее вводить повторно не требуется. Только если вы захотели изменить его значение.
Community — если вы хотите постить сообщения в некоторые сообщество, здесь нужно указать его название. В противном случае просто оставьте поле пустым.
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 — данная настройка определяет каким образом LiveJournal должен реагировать на тег . Доступны варианты: 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, пока все работает нормально. При появлении дополнительной информации обязательно напишу. Если что-то в посте оказалось вам непонятным, задавайте вопросы в комментариях.
UPD 7.02.2009: В последнее время с плагином возникали некоторые сложности, насколько он работоспособен сейчас мне лично сказать сложно. Я практически перестал делать кросспост. Вот нашел еще одну разработку для этих целей — LJ XP.
вообще,
если не ошибаюсь,
то в Terms of Service жж написано, что такого делать нельзя — в смысле использовать xml-rpc для трансляции содержания длугий сайтов.
и помоему даже были прецеденты, когда абюз-тим за такое сносила акаунты без разбора
Возможно, но я видел достаточно много кросспостов, которые до сих пор успешно существуют. Причем было бы странным делать отдельный плагин для этого дела.
к сожалению, этот кросспостер не cut’ит кастомные теги more, а копирует записи целиком ((
Вы уверены, что в настройке «Handling of » установлен правильный параметр? — самый первый. Я по идее тестировал все возможные варианты и ссылка на оригинальный блог при использовании тега More у меня работала. Правда я не просматривал конкретный пост при этом, а всю ленту целиком.
да, уверен :)
это я пофиксил (поменял пару строк кода) …
теперь more работает правильно
но не хочет экспортировать записи (прошлые я посносил)..
ругается Something went wrong — 302 : Client error: Can’t edit post from requested journal
Кстати, эта ошибка по идее возникает при редактировании записей, удаленных в ЖЖ. Там что-то с таблицей wp_postmeta не то, говорят поможет запрос по типу — DELETE FROM wp_postmeta WHERE meta_key = ‘ljID’;
Я помню как-то удалил их всех, точнее они сами удалились, а после заново проэкспортировал и все работает чудно.
в этой таблице нет такого meta_key = ‘ljID’…
так что прискорбно, но нифига не работает
по ходу дела нашёл чела который пишет софт и плагины эти тоже вот тут http://blogclient.ru/
однако его модификация плагина с той же ошибкой вылетает… ээээх
Очень полезная инфа
Спасибо автору. Возможно, в будущем я и правда реализую подобную затею. :)
Ваша ссылка на плагин не работает. Я, кстати, пытаюсь использовать другой плагин LIci WP 0.2 — он тоже не работает (пишет «неизвестная ошибка»). Так что реально много проблем…
Roman, обновил пост, добавив в конце одну полезную ссылку на другой плагин.
возникла проблема следующего рода.
по пунктам
1. Я выкладываю с форума темы на свой блог последсвтом копипаста.
форум находится внутри блога те его путь pride-team.net/forumz
2. Незнаю почему но ворпрес предпочитает ставить не обсолютный а относительный путь и ссылки на картинки становяьтся такого вида
../forum/images….
3. И при кроспотинге в ЖЖ и тп системы соотвественно картинки не отображаються.
Можно ли исправить либо в вордпресе или в самом плагине это дело…конечно идеально заставить ворпрес писать абсолютные пути в постах, спасибо заранее за помощь если Вы знаете ответ
delphix, если хочешь исправить, то нужно копаться в коде плагина или вордсперса)
просто думал ктото сталкивался с этим и знает ответ …либ ктото намекнет куда хоть лезть)) если найду ответ то напишу
Спасибр автору. Хорошая статья, давно думал заняться кросс-постингом
А подскажите, если блог является мультязычным(плагин qtranslator), то можно ли будет сделать кросспост только русской версии?
wyveren, я, увы, подсказать не смогу. это нужно пробовать и выяснять — установите плагин и кросспост — посмотрите, что получится)
У меня глючит новый плагин lj-xp :( выдает Something went wrong — 302 : Client error: Can’t edit post from requested journal
в общем, даже не знаю, как нормальный кросспост сделать. Если кто найдет решение, напишите, я на комменты подписался.
Mfrcbv все просто. Ты заходишь в свою базу данных и очищаешь таблицу, которая касается кросспостинга. Как она называется в WP я не знаю, но судя по комментариям выше — это таблица wp_postmeta. В Друпал этот модуль интегрирован из WP и у нас он называется Ljxp_node.
Очистил таблицу и будет тебе счастье!)
а меня кажись забанили
Something went wrong — Server : Account not validated.
хотя в ЖЖ акаунт войти могу,
написал в супорт,жду ответа, хотя блог-сдл
2 teaseo
Ну так поделиться надо было с людьми чего нарыл ;)
ссылка http://www.livejournal.com/support/see_request.bml?id=1007478
для тех у кого рамс с англ — надо просто активировать ЖЖ через майл.
рамс с англ ?
я невехал
ну те кто не поняли — там ответ в теме есть :) вот я и пояснил что там написано(там по англ написано): для того чтобы этого не было достаточно просто активировать майл свой. Причина выдачи надписи «Something went wrong – Server : Account not validated. » это отсутствие подтверждения майла владельца аккаунта ЖЖ
У меня так и не получилось настроить кросспост..
Tod подскажи, а как ты организовываешь кросспостинг анонсов, если в блоге публикуются посты без тега more? Вручную что ли?
MNone Bloger, пока занялся ведением еще и жж, то вручную немного, а вообще хотелось бы автоматизировать.
Народ, подскажите как делать кросспост с ДЛЕ в ЖЖ??
мож плагин какой есть??
а можно ли делать кросспостинг в жж без обратных ссылок на оригинал поста??
Я попытался прям через админку блога wordpress поискать плагины для кросспостинга. Вылезла их целая страница: LiveJournal Crossposter, Live+Press, JournalPress и тому подобное. А какой из них лучше? Может кто подскажет. Спасибо.
а как можно осуществить кросспостинг с Блоггера на ЖЖ?
У меня лучше плагин установлен, который не копирует текст целиком.
Ладно, но неужели никто не прописывает пути картинок в WP относительными?
тоесть не
img src=»www.site.ru/img/kartinka.jpg»
а
img src=»/img/kartinka.jpg»
дело в том, что ЖЖ так и захватывает путь «как он указан в коде», и поэтому картинка там просто не отображается.
Как добавить код, чтобы перед ссылкой добавлялось site.ru ?
Млин, ну, никак не получается чтобы в место «Originally published at . You can comment here or there.» появлялось «Это кросс-пост из блога. Комментировать можно здесь и там» (там — активная ссылка и ведет на запись в блоге ). Не подскажете, как это сделать пошагово? Выше это все описано, но как-то не понятно для меня. Помогите чайнику!
mr.ses, в статье есть пример, после строк «Чтобы было понятнее приведу текст, используемый мною», его можно использовать для параметра Custom crosspost header/footer.
Ну, все, вроде получилось! Есть еще один вопрос: в конце кросс-поста вылазит » Read the rest of this entry » «. Можно ли ее как-то сменить на что-нибудь другое? Например, «Читать далее»?
Сегодня пыталась настроить кросспостинг с помощью двух плагинов. Ничего не работает. Даже изменение кодировки и 2 строчки в коде не помогают
день добрый
как исправить ошибку?
32301: transport error — HTTP status code was not 200
не как не могу избавиться от нее!?
Класно пишеш. Убедил, пойду настраивать.
Alexey, как избавиться, увы, не подскажу, у меня подобная ошибка иногда выскакивает когда изменяю пост в блоге и оно по идее хочет обновить содержимое жж. При этом, вроде как, сохраняемые изменения остаются и все работает, просто выскакивает ошибка, поэтому я особо на нее внимания не обращаю.
не как не избавился от нее о сей день, это что-то связано с сервером ЖЖ как я понимаю… так что я удалили этот плагин и больше к нему не хочу возвращаться !
ну если кто отладит его, чтобы нормально работал, тогда я готов рассматривать ваши варианты!
что-то изменилось в жж. Даже если просто установит плагин по новой и сохранить настройки он не сможет корректно отработать сохранение настроек.
Артем, в последнее время у меня тоже какие-то проблемы с ЖЖ, хотя это больше потому что у ЖЖ проблемы с нормальной работой, постоянно недоступен.
Уважаемый автор у меня сложилась проблема после подключения плагина LiveJournal Crossposter в вордпресс, выдает вот такую ошибку при обновление любой записи Warning: strrpos() expects parameter 3 to be long, string given in /home… Может сможете мне подсказать раз вы знаете этот плагин((( как мне исправить и что в файле плагина, дабы не выдавал ошибку.
Наталья, вообще статья очень древняя, поэтому я не знаю на какой стадии развития находится LiveJournal Crossposter — может он тоже не обновлялся и поэтому возникают ошибки. Тут нужно искать более новый модуль или работающих без глюков.
Спасибо большое за ответ, буду дальше пробовать и искать.
А как сделать обратный постинг к примеру из facebook на блог, работающего на wordpress, существует ли подобные сервисы и плагины для такой операции?
Muzicio, я бы посмотрел сервис IFTTT возможно там есть нужные триггеры.