Скрещиваем Twitter и WordPress

Для своего проекта Твои Плагины мне нужно было сделать трансляцию новых добавленных плагинов в фид твиттера. Озадачившись задачей, начал искать решения. И так…

Глобальный подход

Есть официальная документация которая позволяет нам использовать предоставленный API интерфейс для работы с твиккером. Мне было лень разбираться с ним и я начал искать далее.

Готовые плагины для WordPress

  • SimpleTwitter – плагин который позволяет добовлять ваши посты в твиттер, достаточно много настроек.
  • The Twitter Updater – другой плагин который автоматически отправляет сообщения в twitter, при редактирование записи, обновлении ее или публикации, настраивайте плагин, как сами считаете нужным.
  • Twitter Tools – позволяет как постить в твитер, так и в блог постить свои твитты.

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

Сервисы для работы с твиттером

Пока из известных – TwitterFeed. Инструкция по применению очень проста.

Если есть OpenId – отлично. Если нет – заводим, (например: здесь myopenid, или здесь Yandex OpenID)

Логинемся в TwitterFeed под вашим OpenID

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

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

  1. Вводим адрес вашего RSS
  2. Устанавливаем частота обновления вашего твикера (по умолчанию: каждый час)
  3. Сколько добавлять новых постов в твикер (по умолчанию: 1, максимальное количество 5)
  4. Что выводит в твитер (по умолчанию: заголовок и описание)
  5. Каким сервисом коротких ссылок мы будем пользоваться, а мы будем пользоваться так как длина сообщения для твикера ограничена 140 символами (если вы хотите без регистрации – то urlShot, если не поленитесь и зарегистрируетесь то – bit.ly. Помимо того что этот сервис сокращает ссылки, он ведет статистику кликов по ним.)
  6. Публикация новых постов на основание их (по умолчанию: на дате).
  7. Сообщение выводимое перед публикацией поста в твикер (по умолчанию: пусто). Не совсем нужная опция, у нас и так ограничено, так тратить дорогие знакосимволы на прикрепляемое сообщение – разорительно.
  8. Если галочка стоить то идет публикация в ваш твикер. Если ее убрать то времено будет остановлен процесс публикации до тех пор пока вы ее снова не установите.
  9. Думаю кнопочку «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, который и нужно будет подставить в эту функцию.

Ссылки по данной тематике

Комментариев: 3 на "Скрещиваем Twitter и WordPress"

  1. Vasiliy says:

    Ставил себе SimpleTwitter – как то он у меня не очень правильно работал! Юзаю сервисы!

    • AjaxBlog says:

      Использовал этот плагин для этого проекта 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 = ‘******’;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>