Да все просто, после перехода на API 1.1 для всех без исключения скриптов необходима аутентификация OAuth 2.0, которая раньше была не нужна. Сегодня я покажу на рабочем примере как используя новые методы API можно вывести количество ваших фолловеров в Твиттере на любой странице вашего шаблона WordPress.
- В первую очередь идем на страницу разработчиков https://dev.twitter.com/apps и авторизуемся под своей учетной записью.
- Создаем новое приложение.
- Заполняем все обязательные поля формы.
- На странице созданного приложения необходимо создать токены доступа, которые, собственно, и будут нужны для последующей аутентификации нашего скрипта.

Теперь у вас есть все ключи для аутентификации. Однако для работы скрипта вам понадобится только API key и API secret. Замените в коде YOUR_CONSUMER_KEY на ваш API key, а YOUR_CONSUMER_SECRET — на API secret. Код необходимо вставить в файл functions.php вашей активной темы. Код подробно прокомментировать и вы без особого труда можете его модифицировать под свои нужды.
function getTwitterFollowers($screenName = 'codeforest'){ // some variables $consumerKey = 'YOUR_CONSUMER_KEY'; $consumerSecret = 'YOUR_CONSUMER_SECRET'; $token = get_option('cfTwitterToken'); // get follower count from cache $numberOfFollowers = get_transient('cfTwitterFollowers'); // cache version does not exist or expired if (false === $numberOfFollowers) { // getting new auth bearer only if we don't have one if(!$token) { // preparing credentials $credentials = $consumerKey . ':' . $consumerSecret; $toSend = base64_encode($credentials); // http post arguments $args = array( 'method' => 'POST', 'httpversion' => '1.1', 'blocking' => true, 'headers' => array( 'Authorization' => 'Basic ' . $toSend, 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8'), 'body' => array( 'grant_type' => 'client_credentials' )); add_filter('https_ssl_verify', '__return_false'); $response = wp_remote_post('https://api.twitter.com/oauth2/token', $args); $keys = json_decode(wp_remote_retrieve_body($response)); if($keys) { // saving token to wp_options table update_option('cfTwitterToken', $keys->access_token); $token = $keys->access_token; } } // we have bearer token wether we obtained it from API or from options $args = array( 'httpversion' => '1.1', 'blocking' => true, 'headers' => array( 'Authorization' => "Bearer $token" ) ); add_filter('https_ssl_verify', '__return_false'); $api_url = "https://api.twitter.com/1.1/users/show.json?screen_name=$screenName"; $response = wp_remote_get($api_url, $args); if (!is_wp_error($response)) { $followers = json_decode(wp_remote_retrieve_body($response)); $numberOfFollowers = $followers->followers_count; } else { // get old value and break $numberOfFollowers = get_option('cfNumberOfFollowers'); // uncomment below to debug //die($response->get_error_message()); } // cache for an hour set_transient('cfTwitterFollowers', $numberOfFollowers, 1*60*60); update_option('cfNumberOfFollowers', $numberOfFollowers); } return $numberOfFollowers; }
Вот и все. Выводить количество ваших фолловеров вы можете обратившись к функции getTwitterFollowers в любом месте вашего шаблона.
echo getTwitterFollowers('your_screen_name');
Надеюсь пригодится.
Фото: Garrett Heath — Creative Commons / flickr.com