从WP后台搜索googlecards会发现两款插件,这两款都装了下,好像功能一样,连界面也是一样,甚至连BUG都一样,不知道是谁抄袭谁,又或者是两者就是同一人,选了第一个进行下载安装,然后启用,到小工具里把它拖入到右侧栏中,配置好自己的google+ id即可。
默认的插件显示如下图所示:
该插件会显示google+的用户名以及该用户在别人圈子中的个数,这里googlecards有个比较合理的设定,它会先去从cache中判断是否有这数据,如果没有或者cashe过期了,才再会去网站上重新下载新数据。这样就避免了每次打开页面的时候都会去读取google+的信息,它的读取方式也只是最普通的抓取网页,不知道google+有没有开放API。
但是当你点击用户名或者add circle时,就会弹出无法访问的页面BUG,原因是自动弹出的页面是http,而最新的google+是https,因此我需要把这个bug修复一下,顺便美化一下界面,使得和主题更融入。
1.打开googleCardClass.php,将
public $gplus_url = 'http://plus.google.com/';
改成public $gplus_url = 'https://plus.google.com/';
2.添加显示自己的圈子里的人数,将
if (isset($curlHtml) && !empty($curlHtml['name']) && !empty($curlHtml['count']) && !empty($curlHtml['img']))
改成
if (isset($curlHtml) && !empty($curlHtml['name']) && !empty($curlHtml['count']) && !empty($curlHtml['mycount'])&& !empty($curlHtml['img']))
并且在function parseHtml()中添加
preg_match('/<h4 class="a-b-Fa-ug d-q-p">(.*?)<\/h4>/s', $this->html, $matches);
if (isset($matches) && !empty($matches))
{
$count = $matches[1];
$mycircles = preg_replace('/[^0-9_]/', '', $count);
}
if (empty($mycircles))
{
$mycircles = 0;
}
以及将
$return = array('id' => $this->user_id, 'count' => $circles, 'name' => $name, 'img' => $img, 'url' => $this->url);
改为
$return = array('id' => $this->user_id, 'count' => $circles, 'mycount' => $mycircles, 'name' => $name, 'img' => $img, 'url' => $this->url);
主要是添加mycount来显示我的圈子里的人数。
3.修改googleCards.php,将
<div id="plus_card_name">
改为
<a <?php echo $rel; ?> href="<?php echo $data['url']; ?>" <?php echo $tab; ?>><?php echo $data['name'] ?></a>
</div>
<span id="plus_card_add">
<a <?php echo $rel; ?> href="<?php echo $data['url']; ?>" <?php echo $tab; ?>>Add to circles</a>
</span>
<div id="plusCardCount">
<p>In <?php if (isset($data['count'])) { echo $data['count']; } else { echo 0; } ?> people's circles</p>
</div>
<div id="plus_card_name">
<a <?php echo $rel; ?> href="<?php echo $data['url']; ?>" <?php echo $tab; ?>><?php echo $data['name'] ?>+</a>
</div>
<div id="plusCardCount">
关注: <?php if (isset($data['mycount'])) { echo $data['mycount']; } else { echo 0; } ?>
<br>粉丝: <?php if (isset($data['count'])) { echo $data['count']; } else { echo 0; } ?>
</div>
4.按照自己的需求调整CSS代码
最后删除一下cache,就OK了。整体修改后的效果就是现在网站右侧google+的效果了,感觉比之前好很多。
googlecards的配置与修改
文章评分1次,平均分5.0:★★★★★