两个问题:
您使用的代码需要管理员角色功能fopen()
您的主机可能会禁用包装器,您可能应该使用wp_remote_get()
而不是file_get_contents()
. 我还建议缓存结果,而不是将其存储为DB选项。
但是,让我们从基础开始。我假设preg_match()
WP初学者代码的一部分工作正常,并将其重新包装为更灵活的函数。
试着把这个放进去functions.php
(更改$user = \'wpbeginner\'
您自己的用户名):
<?php
function mytheme_get_twitter_follower_count( $user = \'wpbeginner\' ) {
$twitter_url = \'http://twitter.com/users/show.xml?screen_name=\' . $user;
$twitter_data = wp_remote_get( $twitter_url );
$xml = $twitter_data[\'body\'];
$twitter_followers = \'0\';
if (preg_match(\'/followers_count>(.*)</\',$xml,$match)!=0) {
$twitter_followers = $match[1];
}
return $twitter_followers;
}
?>
然后,无论您想在哪里输出字符串,请将其放入模板文件中:
<p>Twitter Followers: <?php echo mytheme_get_twitter_follower_count(); ?></p>
(请注意,您可以通过调用
mytheme_get_twitter_follower_count( \'username\' );
.)
EDIT
从错误消息中:
Twitter关注者:致命错误:调用/hermes/bosweb25a/b155/ipg中未定义的函数mytheme\\u get\\u Twitter\\u follower\\u count()。缩放japancom/wp-content/plugins/php-code-widget/execphp。php(44):第1行的eval()\'d代码
你把mytheme_get_twitter_widget_follower_count()
函数调用您在哪里定义mytheme_get_twitter_widget_follower_count()
功能为什么要使用PHP代码执行插件为什么那个插件中有eval()代码