Для своего проекта Твои Плагины мне нужно было сделать трансляцию новых добавленных плагинов в фид твиттера. Озадачившись задачей, начал искать решения. И так…
Глобальный подход
Есть официальная документация которая позволяет нам использовать предоставленный API интерфейс для работы с твиккером. Мне было лень разбираться с ним и я начал искать далее.
Готовые плагины для WordPress
- SimpleTwitter – плагин который позволяет добовлять ваши посты в твиттер, достаточно много настроек.
- The Twitter Updater – другой плагин который автоматически отправляет сообщения в twitter, при редактирование записи, обновлении ее или публикации, настраивайте плагин, как сами считаете нужным.
- Twitter Tools – позволяет как постить в твитер, так и в блог постить свои твитты.
Вот наверное самые интересные плагины. Только как-то они у меня не пошли, то ли я что-то не так настроил, то ли еще что-то, но результат один. Мои опубликованные посты не добавлялись в мой твиттер.
Сервисы для работы с твиттером
Пока из известных – TwitterFeed. Инструкция по применению очень проста.
Если есть OpenId – отлично. Если нет – заводим, (например: здесь myopenid, или здесь Yandex OpenID)
Логинемся в TwitterFeed под вашим OpenID

Создаем новый профиль

Заполняем форму

- Вводим адрес вашего RSS
- Устанавливаем частота обновления вашего твикера (по умолчанию: каждый час)
- Сколько добавлять новых постов в твикер (по умолчанию: 1, максимальное количество 5)
- Что выводит в твитер (по умолчанию: заголовок и описание)
- Каким сервисом коротких ссылок мы будем пользоваться, а мы будем пользоваться так как длина сообщения для твикера ограничена 140 символами (если вы хотите без регистрации – то urlShot, если не поленитесь и зарегистрируетесь то – bit.ly. Помимо того что этот сервис сокращает ссылки, он ведет статистику кликов по ним.)
- Публикация новых постов на основание их (по умолчанию: на дате).
- Сообщение выводимое перед публикацией поста в твикер (по умолчанию: пусто). Не совсем нужная опция, у нас и так ограничено, так тратить дорогие знакосимволы на прикрепляемое сообщение – разорительно.
- Если галочка стоить то идет публикация в ваш твикер. Если ее убрать то времено будет остановлен процесс публикации до тех пор пока вы ее снова не установите.
- Думаю кнопочку «Create» вы сами найдете
Сервис работал «на ура», но под мои требования он не подошел, так-как максимальное количество публикуемых сообщений 5, а у меня может добовлятьса ежедневно более 10 новых плагинов.
Своими руками
Хочешь что-бы получилось как надо. сделай сам. Берем готовый PHP класс для работы с твикером. И на базе него пишем свой плагин для WordPress.
Не на какую универсальность он не претендует, задача его максимально проста. При публикование поста, он автоматически публикуется в вашем твикере. Я буду рад, если кто-то на основе его напишет полноценный плагин.
<?php /* Plugin Name: Twitter post Plugin URI: http://www.youplugins.com/ Description: Updates Twitter when you create a new blog or publish one Version: 1.00.0 Author: Denis Doroshenko */ function wp_twitter_post_shotlink($link) { $shotlink = ""; $url = "http://api.bit.ly/shorten?version=2.0.1&longUrl={$link}&login=******&apiKey=******"; $bit = json_decode(file_get_contents($url), TRUE); if ($bit["errorCode"] == 0) { $shotlink = $bit["results"]["{$link}"]["shortUrl"]; } return $shotlink; } function wp_twitter_post_add($post_ID) { include(dirname(__FILE__).'/twitterAPI.php'); $post = get_post($post_ID); $postTitle = $post->post_title; $postLink = get_permalink($post_ID); $postContent = $post->post_content; $twitter_username = '******'; $twitter_psw = '******'; $twitter_message = "{$postTitle}: {$postContent}"; $count = mb_strlen($twitter_message); if ($count < 1) { $twitter_message = ""; } else if ($count > 115) { $twitter_message = mb_substr($twitter_message, 0, 115).'..'; } $twitter_message .= ' '.wp_twitter_post_shotlink($postLink); $twitter_status = postToTwitter($twitter_username, $twitter_psw, $twitter_message); return $post_ID; } add_action('publish_post', 'wp_twitter_post_add'); ?>
add_action(‘publish_post’, ‘wp_twitter_post_add’) – вызываем функцию wp_twitter_post_add, после события publish_post
wp_twitter_post_add() – функция которая производит публикацию поста в ваш твикер, для этого вам нужно знать логин и пароль вашего твикера.
wp_twitter_post_shotlink($link) – функция преобразования ваших урлов в их укороченный вариант, я для этого использовал сервис bit.ly, для его правильной работы вы должны быть на нем зарегистрированы. После регистрации сервис для вас с генерирует apiKey, который и нужно будет подставить в эту функцию.
Ставил себе SimpleTwitter – как то он у меня не очень правильно работал! Юзаю сервисы!
Использовал этот плагин для этого проекта http://blog.turbobit.net/, проблем не было.
1) Убедитесь что залили PHP класс
2) Поменяли звездочки на ваш логи и ключ
$url = «http://api.bit.ly/shorten?version=2.0.1&longUrl={$link}&login=******&apiKey=******»
3) Поменяли звездочки на ваш логи и пароль
$twitter_username = ‘******’;
$twitter_psw = ‘******’;