Intereting Posts
Как исключить пост из категории Получить пользовательский идентификатор категории текущего пользовательского сообщения в цикле Перечислите все таксономические условия / Покажите ссылки, если сообщения прикреплены, иначе имена Предупреждение: urlencode () ожидает, что параметр 1 будет строкой, массив указан в и не получает выбранный вывод Как получить основную категорию для определенной должности? $ wpdb query выводит php-код вместо его выполнения Как вручную разместить код виджета WordPress MU – создание сайта требует возраста Как ссылаться на образ темы в таблице стилей? Проблема с ссылкой utf8 Есть ли способ отображать контент из мета-поля сообщения на боковой панели? Любой плагин приводит к отказу от использования мобильных устройств PHP 5.5, w3 Общий кэш и opcache get_query_var возвращает неправильное значение по умолчанию Как отображать изображение в заголовке почты с помощью wp_mail ()

как получить число твиттер-последователей в wordpress

Я использовал функцию для получения твитер-последователей

function twitter_count($twitter_user){ $count = get_transient('twitter_count'); if ($count !== false) return $count; $count = 0; $dataOrig = file_get_contents('http://twitter.com/users/show/'.$twitter_user); if (is_wp_error($dataOrig)) { return 'Error!!!'; }else{ $profile = new SimpleXMLElement ( $dataOrig ); $countOrig = $profile->followers_count; $count = strval ( $countOrig ); } set_transient('twitter_count', $count, 60*60*24); // 24 hour cache return $count; 

и мне нужно заменить file_get_contents для wp_remote_get как это реализовать?

Solutions Collecting From Web of "как получить число твиттер-последователей в wordpress"

Вы заменили бы это:

 $dataOrig = file_get_contents('http://twitter.com/users/show/'.$twitter_user); if (is_wp_error($dataOrig)) { return 'Error!!!'; }else{ $profile = new SimpleXMLElement ( $dataOrig ); $countOrig = $profile->followers_count; $count = strval ( $countOrig ); } 

С этим:

 $dataOrig = wp_remote_get('http://twitter.com/users/show/'.$twitter_user); if (is_wp_error($dataOrig)) { return 'Error!!!'; } else { $profile = new SimpleXMLElement ( $dataOrig['body'] ); $countOrig = $profile->followers_count; $count = strval ( $countOrig ); } 

Обратите внимание, что wp_remote_get возвращает массив с телом страницы в body .

Изменить: Использование wp_remote_retrieve_body

 $dataOrig = wp_remote_get( 'https://twitter.com/users/show/'.$twitter_user ); if ( is_wp_error( $dataOrig ) ) { return printf( '%s: %s', $dataOrig->get_error_code(), $dataOrig->get_error_message ); } elseif( empty( $dataOrig ) OR 200 !== wp_remote_retrieve_response_code( $dataOrig ) OR 'OK' !== wp_remote_retrieve_response_message( $dataOrig ) ) { return _e( 'Nothing available', 'your_textdomain' ); } else { $dataContent = wp_remote_retrieve_body( $dataOrig ); $profile = new SimpleXMLElement ( $dataContent ); $countOrig = $profile->followers_count; $count = strval ( $countOrig ); } 

решена проблема с использованием json

  function twitter_count($twitter_user){ $count = get_transient('twitter_count'); if ($count !== false) return $count; $count = 0; $response = wp_remote_retrieve_body(wp_remote_get( 'https://twitter.com/users/'.$twitter_user.'.json', array( 'sslverify' => false ))); $json = json_decode( $response ); if ( !is_wp_error( $dataContent ) ) { $countOrig = $json->followers_count; $count = strval ( $countOrig ); } else { return _e( 'Error', 'your_textdomain' ); } set_transient('twitter_count', $count, 60*60); // 1 hour cache return $count; }