外链123导航

精选网站外链目录大全

zblog主题Undefined array key "pro" 怎么处理

zblog主题Undefined array key "pro" 怎么处理
测试:
串串香:

现象如下图所示:


经查,是由于该主题的留言IP查询接口返回为空导致的问题,需要更换一个比较稳定的查询接口。但不同的接口返回的数据类型也不一样,所以需要更改解析方式。

1、打开拓源主题的include.php文件,位置在zblog安装目录下的/zb_users/theme/tpure

2、按Ctrl+F查找函数:tpure_IP

3、将该函数的函数体全部用/*   */注释,并在函数体的最后一行增加一行代码:

return ip_query($ip)

4、接下来需要自己实现ip_query函数,将该函数放在tpure_IP的前面,代码如下:

function ip_query($ip)
{
    $url = "https://opendata.baidu.com/api.php?query={$ip}&co=&resource_id=6006&oe=utf8";//此处使用百度API
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    $location = curl_exec($ch);
    curl_close($ch);
    $ip_obj = json_decode($location, true);
    
    if(0 != count($ip_obj['data']) && array_key_exists('location', $ip_obj['data'][0]))
        return $ip_obj['data'][0]['location'];
    else
        return '未知';
}

此时完整的内容为:

相当于不再使用原本的实现,而使用自己的实现,但函数名称不变。保存即可。

上面的回答出自网友,实际上还有一种更简单的办法就是关闭主题自带的评论者IP评论,如果想用可以使用插件 比如李洋的IP归属地(兼容ipv4/v6)插件就可以!


    «    2025年7月    »
    123456
    78910111213
    14151617181920
    21222324252627
    28293031
    控制面板
    您好,欢迎到访网站!
      查看权限
    网站分类
    搜索
    最新留言
    文章归档
      网站收藏
      友情链接

      Powered By Z-BlogPHP 1.7.4