- 利用WP-Postviews随机显示多个分类下的热门文章(带缩略图)利用WP-Postviews已经有办法显示带缩略图的最新文章,但是如果我希望随机显示多个分类下的热门文章又该如果做呢?当然,WP-Postviews插件还是首先需要安装的。 代码<h4 class="tit2">MM们还喜欢的单品:&l...
- 利用WP-Postviews显示带缩略图的热门文章WP-postviews插件本身自带热门文章输出代码,不过却是整列输出,如果我们希望输出带缩略图的热门文章,该怎么办呢?下面就给大家分享一下利用WP-Postviews显示带缩略图的热门文章的技巧。 直接上代码<?php$n...
- wordpress报Uncaught TypeError: Object #has no method错误解决办法最近在本地搭建的系统上测试wordpress时,发现jquery报Uncaught TypeError: Object # has no method错误,网上有解答说是由于jquery库冲突造成的,但想到这个主题是目前网站正在用的(网站上没问题),除了自己加...
- WordPress开启Nginx fastcgi_cache缓存加速
WordPress开启Nginx fastcgi_cache缓存加速,这是一篇转载并整理的文章,只为备忘,文章内容大部分来源于张戈博客。 在希望使用Nginx缓存前需要查看一下你的Nginx是否编译了ngx_cache_purge 模块,如果没有则需要...
- 实现高性能wordpress ajax文章分页功能
wordpress实现高性能的ajax文章分页功能。首先我们需要对后端进行处理,使除了当前使用AJAX可以无刷新浏览外,还可以直接请求改变的URL后也可以正常浏览。方法是对使用pushState的AJAX的发送一个特殊的头,当后端...
- 简单实用的网站动静分离优化方案
简单实用的网站动静分离优化方案,这是一篇转载文章,自己收藏起来慢慢琢磨。 先啰嗦一下网站动静分离的概念和好处。 一、动静分离 我们的网站简单来说分为 2 种数据资源,一种是动态的数据,即 PHP 等程序语言实...
- wordpress页面随机位置插入Adsense广告
该代码用于在循环内的随机位置输出adsense广告(或任何其他输出块),限制为预设数量的可能位置。<?php $ad_positions = array(1,2,4); // array of preset possible ad positions do { $rnd_ad = $ad_posit...
- WordPress 在文章随机段落中插入广告
WordPress 在文章随机段落中插入广告的实现方式很简单,只要把下面代码插入你主题的functions.php中即可实现(记得将:你的广告代码替换为你的广告内容)add_filter( 'the_content', 'prefix_insert_post_ads' ...
免插件实现WordPress文章浏览次数刷新不增加
wordpress显示浏览次数,很多人都是安装WP-Postviews插件来实现的。不过,其实不用插件也可以实现显示WordPress浏览次数。
非插件统计文章浏览次数
在主题的 functions.php文件的最后一个 ?> 前面添加下面的代码:
/* 访问计数 */
function record_visitors()
{
if (is_singular())
{
global $post;
$post_ID = $post->ID;
if($post_ID)
{
$post_views = (int)get_post_meta($post_ID, 'views', true);
if(!update_post_meta($post_ID, 'views', ($post_views+1)))
{
add_post_meta($post_ID, 'views', 1, true);
}
}
}
}
add_action('wp_head', 'record_visitors');
/// 函数名称:post_views
/// 函数作用:取得文章的阅读次数
function post_views($before = '(点击 ', $after = ' 次)', $echo = 1)
{
global $post;
$post_ID = $post->ID;
$views = (int)get_post_meta($post_ID, 'views', true);
if ($echo) echo $before, number_format($views), $after;
else return $views;
}
在需要显示该统计次数的地方(一般是single模板内)使用下面的代码调用:
阅读:<?php post_views(' ', ' 次'); ?>
不过,上面的代码有个弊端,就是当用户不停的刷新页面时,不但浏览数会狂增,还会给数据库带来负担。下面是改进版。
非插件统计文章浏览次数(带cookie时间限制)
function record_visitors() {
if(is_singular()) {global $post;
$post_ID=$post->ID;
if($post_ID) {
if(isset($_COOKIE['views' . $post_id . COOKIEHASH])&& $_COOKIE['views' . $post_id . COOKIEHASH]=='1')
return;
$post_views=(int) get_post_meta($post_ID, 'views', true);
if(!update_post_meta($post_ID, 'views', ($post_views+1))) {
add_post_meta($post_ID, 'views', 1, true);
}
setcookie('views'.$post_id.COOKIEHASH,'1',time() + 3600 * 24, COOKIEPATH,COOKIE_DOMAIN);//设置cookie过期间隔为1天
//setcookie('views'.$post_id.COOKIEHASH,'1',0, COOKIEPATH,COOKIE_DOMAIN);//设置关闭浏览器cookie即过期
}
}
}
add_action('wp_head', 'record_visitors');
function post_views($before = '浏览', $after = '次', $echo = 1) {
global $post;
$post_ID=$post->ID;
$views=(int) get_post_meta($post_ID, 'views', true);
if($echo)
echo $before, number_format($views), $after;
else
return $views;
}
上面的代码默认是cookie有效期为1天,意思是你一天内打开同一页面,无论如何刷新,浏览次数都不会变的(除非你清空cookie)。
调用方式:在需要显示该统计次数的地方(一般是single模板内)使用下面的代码调用:
<?php if (function_exists('post_views')) post_views(); ?>