06Янв
Как добавить в тему последний твит?
06
Янв
В теме своего блога решил использовать функцию simplexml_load_file(), чтобы вытянуть последний твит. К сожалению, выводило вот такую ошибку:
Warning: simplexml_load_file(): URL file-access is disabled in the server configuration
Попытки найти как же в теле скрипта поменять права на удаленное чтение ни к чему не привели. Желания лезть в CURL не было никакого. После раздумий нашлось очень просто решение – использовать родную функцию WordPress-а wp_remote_request. А уже полученный результат разобрать на кусочки с помощью simplexml_load_string.
Пример выглядит так:
function getTwit ($name) {
if (!function_exists("simplexml_load_string")) {
return "Проблемы с твиттером. Версия PHP должна быть 5.х и выше";
}
$feedUrl = 'http://twitter.com/status/user_timeline/'.$name.'.xml?count=1';
$resp = wp_remote_request($feedUrl, array('timeout' => $widgetOptions['fetchTimeOut']));
if ( !is_wp_error($resp) && $resp['response']['code'] >= 200 && $resp['response']['code'] < 300 ) {
$xml = simplexml_load_string($resp['body']);
return $xml->status->text;
} else {
return "Проблемы с твиттером. Не может загрузить статус. Может стоит его выключить?";
}
}
echo getTwit($db_twitter_name);
if (!function_exists("simplexml_load_string")) {
return "Проблемы с твиттером. Версия PHP должна быть 5.х и выше";
}
$feedUrl = 'http://twitter.com/status/user_timeline/'.$name.'.xml?count=1';
$resp = wp_remote_request($feedUrl, array('timeout' => $widgetOptions['fetchTimeOut']));
if ( !is_wp_error($resp) && $resp['response']['code'] >= 200 && $resp['response']['code'] < 300 ) {
$xml = simplexml_load_string($resp['body']);
return $xml->status->text;
} else {
return "Проблемы с твиттером. Не может загрузить статус. Может стоит его выключить?";
}
}
echo getTwit($db_twitter_name);
Вам понравился этот пост?
Почему бы не оставить комментарий ниже или не подписаться на мой feed?


Я понимаю, что вам все понятно, но можно ли поподробнее, что и куда ставить?