我爱水煮鱼 » WordPress » Popularity Contest 转换到 PostViews

Popularity Contest 转换到 PostViews

前面在通过优化插件来提高 WordPress 运行效率中谈到:我一直使用的 Popularity Contest 这个插件,这个是非常好的插件,但是它一个很大的问题是对数据库操作实在太多了,因为要统计一篇日志在 single category archive home feed 等下的被阅读的次数,其实个人觉得只有在 single 下阅读次数是最重要的,如果要求提供 WordPress 运行效率的情况下,最好转换到 PostViews 这个插件。今天就把转换函数贴出来,本来想用 SQL 转换的,后来发现一个循环更容易解决问题,代码如下:

function Popularity_Contest_to_PostViews() {
	global $wpdb;
	$q = "select id from wp_posts where post_type='post' or post_type='page'";
	$post_ids = $wpdb->get_results($q);
	foreach ($post_ids as $post_id ){
		$id = $post_id -> id;
		$sql = "SELECT single_views FROM wp_ak_popularity WHERE post_id = $id";
		$views = $wpdb->get_results($sql);
		if ($views) {
			$view = $views[0]->single_views;
			if($view){
				if(!update_post_meta($id, 'views', $view)) {
					add_post_meta($id, 'views', $view, true);
				}
			}
		}
	}
}
Popularity_Contest_to_PostViews();

在激活 PostViews 插件之前,你把以上代码复制到你的模板的 footer.php 中,让其运行一次,删除以上代码,然后安装 PostViews 插件。

该函数在本站测试成功,但是为了保证你的数据的安全,请在使用之前,最好备份好数据库,以免出错,由此出现错误,本站概不负责。 :-) 挖哈哈!

标签:

分享到:

请选择你看完该文章的感受:

不错 超赞 无聊 扯谈 不解 路过
  1. o(∩_∩)o…哈哈,乱说的,我妈妈说要多吃点腊肉

    BS不吃腊肉的,重庆人不怕上火

    6月间还要吃火锅~~~也没见几个人上火的,到是广东这边这样上火那样也上火,不吃都上火,我晕~~

    我也换了个WP,没事自己玩玩!

    祝,飞猪天天上火,红红火火的小日子!

    又是一年,回头看了下,真觉得自己又什么都没干就过来了~~

    在学校的时候还想等08年带家人一起去看奥运,现在看来,机会渺茫,现在自己负担自己都成问题~~汗~~

  2. 昨天又排了一上午队,晕菜,居然又没有买到票,只好转向南航了。上午考完试来到这里,发现评论已经排了一条长龙了。那么,我垫底吧^^

  3. 我把代码加到 footer 运行后,在底部显示了插入的代码,这样是否成功了,或者怎样可以知道转换成功??