重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

wordpress查访客 wordpress 访问记录

在WordPress中使用PHP脚本来判断访客来自什么国家

在 PHP 通过 IP 区分国家

创新互联是专业的潜江网站建设公司,潜江接单;提供成都网站设计、网站建设、外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行潜江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

如何用 PHP 通过 IP 区分国家和地区呢? Maxmind.com 提供一套 GeoIP 的解决方案, 只需要简单几步即可在 PHP 中通过 IP

判断访客的国家.

1. 下载数据库和 PHP 库文件

下载 GeoID.dat.gz,

解压为 GeoIP.dat 文件.

下载 geoip.inc.

2. 通过 PHP 代码获取国家信息

以下是一段示范代码,

演示如何获取国家代号和国家名称.

?

?php

// 引入 PHP 库文件

include("geoip.inc");

// 打开本地数据库, 数据保存在 GeoIP 文件中.

$geoData = geoip_open('GeoIP.dat', GEOIP_STANDARD);

// 获取国家 IP

$countryCode = geoip_country_code_by_addr($geoData, $_SERVER['REMOTE_ADDR']);

// 获取国家名称

$countryName = geoip_country_name_by_addr($geoData, $_SERVER['REMOTE_ADDR']);

// 关闭本地数据库

geoip_close($geoData);

?

在 WordPress 中通过 IP 区分国家

既然 PHP 上使用没问题, WordPress 肯定也是 Okay 的. 看看是怎么使用的.

1. 放置数据库文件

将 GeoIP.dat 解压到 WordPress 根目录中. (可以在这个目录找到 wp-config.php 或者

wp-config-sample.php 文件)

2. 编写调用接口

在主题目录中新建文件夹 include, 将 geoip.inc 放置在新建文件夹中. 并在该文件夹新建文件 geoip.php

文件内容如下.

?

?php

include('geoip.inc');

global $countryCode;

$geoData = geoip_open('GeoIP.dat', GEOIP_STANDARD);

$countryCode = geoip_country_code_by_addr($geoData, $_SERVER['REMOTE_ADDR']);

geoip_close($geoData);

?

这里只取国家代号作为判别依据. 并且国家代号是全局变量, 以避免页面多处判断需要反复访问 GeoIP.dat 获取信息, 减少程序开销.

2. 调用接口, 获取国家代号

3. 打开 header.php 文件, 在文件顶部加入代码如下.

?

1

?php include('include/geoip.php'); ?

4. 使用国家代号

在主题中调用代码, 例子如下.

?

?php

global $countryCode;

if($countryCode == 'CN') {

// 中国大陆地区执行的代码

} else if($countryCode == 'US') {

// 美国地区执行的代码

} else {

// 中国大陆和美国以外地区执行的代码

}

?

可能有人会问, 加这么个东西, 性能如何? 会不会要求强大的服务器? 本人测试过, 正常的服务器上几乎不影响页面加载性能, 可以看看这个博客的速度.

如果不放心, 自己测一下.

给网站添加数据统计(wordpress实战)

获取访客的IP(后期可用来获取地理位置)

获取访客的地理位置(通过IP获取)

获取访客的访问次数

获取访客的访问时间

获取访客访问的网页

获取访客访问的网页的标题

表名: my_count

字段:

id(int 10,主键,自增),

ip(varchar 20用来存储访客的IP地址),

country(varchar 20用来存储访客的国籍),

region(varchar 20用来存储访客的省份),

adress(varchar 20用来存储访客的所在城市),

time(int 10用来存储访客的访问次数),

date(datetime 6用来存储访客的访问时间),

url(varchar 30用来存储访客访问的网页),

page_url(varchar 100用来存储访客访问的网页的标题)

在/网站目录/wp-content/themes/主题名 下创建PHP文件visitorstatistics.php:

打开footer.php,在结尾插入:

完了之后点击下方的更新按钮。打开网页,会看到下方出现文字:“您是第xxx 位访客,这是您的第 xxx 次访问,感谢您的支持和关注! ”

参数:

$slug (必须) 通用的模板名

(字符串)要引入的模板的文件名,不包括后缀名 .php,也就是如果需要引入当前主题根目录的 loop.php 文件 $slug 填写 “loop” 即可。

$name(可选) 指定的模板名

(字符串)要引入的模板的文件的副文件名,如果要引入当前主题根目录的 loop-img.php 文件 $slug 参数填写 “loop”,$name 参数填写 “img”。

淘宝的接口,用来返回ip地址对应的地理信息,返回实例:

{"code":0,"data":{"ip":"101.132.162.76","country":"中国","area":"","region":"上海","city":"上海","county":"XX","isp":"阿里云","country_id":"CN","area_id":"","region_id":"310000","city_id":"310100","county_id":"xx","isp_id":"1000323"}}

原文链接: 给网站添加数据统计(wordpress实战)

欢迎访问作者网站:

wordpress怎么使用查询记录

WordPress的使用记录是无法被查询的,因为WordPress不会记录操作步骤和相关记录,如果WordPress文章没有禁用自动保存,如果修改过WordPress文章,可以查询到文章的历史修改记录。

关闭wordpress对外请求

一、关闭wordpress自带站内搜索

php+mysql已经广泛应用于各大网站,但sql注入问题是都会存在的一大事实,黑客就是利用sql注入做了许多坏事。wordpress网站使用人数也逐渐增高,在安全性上也是公认的,回过头来说站内搜索吧,别扯远了,高深的问题当下也消化不了。

一般来说sql查询越多,对网站效率越差负载也很高,为了优化wordpress怎么减少sql查询呢?因为wordpress自带的站内搜索不单每次都进行sql查询,而且查询都是不是十分准确的,所以可以换成百度或谷歌等这些开放站内搜索,来进行wordpress优化,还提高了用户体验。

但如果有访客通过"wordpress/?s=$key"这种方式,仍然可以使用wordpress自带的站内搜索,因此,下面就可以用这种方法完全关闭wordpress自带的站内搜索。方法很简单,只需在function.php中加入以下代码即可。

function fb_filter_query( $query, $error = true ) {

if ( is_search() ) {

$query-is_search = false;

$query-query_vars[s] = false;

$query-query[s] = false;

if ( $error == true )

$query-is_404 = true;

}

}

add_action( 'parse_query', 'fb_filter_query' );

add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

二、关闭wordpress对外请求

相信大家都发现了,浏览器状态栏会有wordpress网站向其他网站的链接,这大大影响了wordpress站点的速度,为了优化wordpress,可以在wp-config.php中插入以下代码来屏蔽对外请求。

define('WP_HTTP_BLOCK_EXTERNAL', true);

到这里,相信大家就开始怀疑影不影响收录,其实完全可以设置wordpress对外请求白名单,将百度、google等ping地址添加上即可。代码如下(以百度为例):

define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');

转发 评论 0 浏览 5090

昵称(必填)

邮箱 (必填)

网址


网站标题:wordpress查访客 wordpress 访问记录
URL链接:http://cqcxhl.com/article/dopsojs.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP