Импорт твитов с определенными хэштегами в Wordpress
Я ищу способ импортировать твиты в Wordpress в виде сообщений. На самом деле, я хочу отображать твиты на определенную тему на странице в Wordpress. Таким образом, страница A будет содержать твиты с хэштегом x, а страница B будет содержать твиты с хэштегом y.
Существует по крайней мере один плагин, который импортирует твиты (Tweet-Импорт), но он может импортировать твиты только определенного пользователя, а не по хэштегу.
Можно ли как-нибудь это сделать?
Ура!
1 answers
Я написал функцию шорткода на основе плагина "Виджет хэштега Twitter"
Просто скопируйте эту функцию в свои темы functions.php файл
function tweets_by_hashtag_9867($atts, $content = null){
extract(shortcode_atts(array(
"hashtag" => 'default_tag',
"number" => 5,
), $atts));
$api_url = 'http://search.twitter.com/search.json';
$raw_response = wp_remote_get("$api_url?q=%23$hashtag&rpp=$number");
if ( is_wp_error($raw_response) ) {
$output = "<p>Failed to update from Twitter!</p>\n";
$output .= "<!--{$raw_response->errors['http_request_failed'][0]}-->\n";
$output .= get_option('twitter_hash_tag_cache');
} else {
if ( function_exists('json_decode') ) {
$response = get_object_vars(json_decode($raw_response['body']));
for ( $i=0; $i < count($response['results']); $i++ ) {
$response['results'][$i] = get_object_vars($response['results'][$i]);
}
} else {
include(ABSPATH . WPINC . '/js/tinymce/plugins/spellchecker/classes/utils/JSON.php');
$json = new Moxiecode_JSON();
$response = @$json->decode($raw_response['body']);
}
$output = "<div class='twitter-hash-tag'>\n";
foreach ( $response['results'] as $result ) {
$text = $result['text'];
$user = $result['from_user'];
$image = $result['profile_image_url'];
$user_url = "http://twitter.com/$user";
$source_url = "$user_url/status/{$result['id']}";
$text = preg_replace('|(https?://[^\ ]+)|', '<a href="$1">$1</a>', $text);
$text = preg_replace('|@(\w+)|', '<a href="http://twitter.com/$1">@$1</a>', $text);
$text = preg_replace('|#(\w+)|', '<a href="http://search.twitter.com/search?q=%23$1">#$1</a>', $text);
$output .= "<div>";
if ( $images )
$output .= "<a href='$user_url'><img src='$image' alt='$user' /></a>";
$output .= "<a href='$user_url'>$user</a>: $text <a href='$source_url'>»</a></div>\n";
}
$output .= "<div class='view-all'><a href='http://search.twitter.com/search?q=%23$hashtag'>" . __('View All') . "</a></div>\n";
$output .= "</div>\n";
}
return $output;
}
Затем превратите его в короткий код, добавив следующую строку в свои темы functions.php файл:
add_shortcode("hashtag_tweets", "tweets_by_hashtag_9867");
Тогда все, что вам осталось сделать, это создать новую страницу или публикацию и ввести короткий код, например:
[hashtag_tweets hashtag="YOUR_TAG" number="NUMBER_OF_TWEETS_TO_GET"]
Измените YOUR_TAG на свой хэштег и измените NUMBER_OF_TWEETS_TO_GET на количество твитов, которые вы хотите получить.
Надеюсь, это поможет.