我们之前写过一个代码,可以让你显示Twitter关注者的数量,这是由Rarst贡献的。在这篇文章中,我们将分享一个更高级、更优雅的代码,它可以让你在WordPress中显示Twitter追随者的数量。这个剧本也是由拉斯特贡献的。
功能
此功能不限于追随者计数。它可以获取USERS/show API方法返回的任何非嵌套值。
它有两个级别的缓存:
查询值以数组形式存储在数据库中,使用WP选项,存储时间为$Interval秒;
API响应存储在内存中,因此您可以查询任意数量的字段,而不会生成多个API请求。
这应该是安全的,可以同时用于乘法值和乘法用户,而不必担心耗尽API限制。
补习
首先打开您的主题的Functions.php文件并添加以下代码:
function rarst_twitter_user( $username, $field, $display = false ) { $interval = 3600; $cache = get_option('rarst_twitter_user'); $url = 'http://api.twitter.com/1/users/show.json?screen_name='.urlencode($username); if ( false == $cache ) $cache = array(); // if first time request add placeholder and force update if ( !isset( $cache[$username][$field] ) ) { $cache[$username][$field] = NULL; $cache[$username]['lastcheck'] = 0; } // if outdated if( $cache[$username]['lastcheck'] < (time()-$interval) ) { // holds decoded JSON data in memory static $memorycache; if ( isset($memorycache[$username]) ) { $data = $memorycache[$username]; } else { $result = wp_remote_retrieve_body(wp_remote_request($url)); $data = json_decode( $result ); if ( is_object($data) ) $memorycache[$username] = $data; } if ( is_object($data) ) { // update all fields, known to be requested foreach ($cache[$username] as $key => $value) if( isset($data->$key) ) $cache[$username][$key] = $data->$key; $cache[$username]['lastcheck'] = time(); } else { $cache[$username]['lastcheck'] = time()+60; } update_option( 'rarst_twitter_user', $cache ); } if ( false != $display ) echo $cache[$username][$field]; return $cache[$username][$field]; }
由❤️托管WPCode
在WordPress中一键使用
用法
一旦你粘贴了函数,现在你就可以在任何你喜欢的WordPress模板文件中使用代码了。只需粘贴以下代码:
echo rarst_twitter_user('wpbeginner', 'name').' has '. rarst_twitter_user('wpbeginner', 'followers_count').' followers after '. rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';
由❤️托管WPCode
在WordPress中一键使用
上面的代码将显示如下所示:
塔克网在1300次更新后拥有5846名追随者。
来源:Rarst
RSS