首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress插件在首页上触发两次,但在管理上触发一次

Wordpress插件在首页上触发两次,但在管理上触发一次
EN

Stack Overflow用户
提问于 2021-07-05 11:44:27
回答 1查看 61关注 0票数 0

我正在开发一个插件,用于统计用户访问并保存IP、日期和访问计数。在DB中有id(大int)、IP(str)、访问(Int)和日期(DATE)。我在插件主文件中的代码如下:

代码语言:javascript
复制
if (is_admin()){
    include WPS_INC . 'back-end.php';
}else{
    include WPS_INC . 'front-end.php';
    do_action('wps_update_db');
}

前面的代码-end.php

代码语言:javascript
复制
function wps_user_visits_count(){
    global $wpdb;
    $tp = $wpdb->prefix;
    $today = date('Y-m-d');
    $ip = intval($_SERVER['SERVER_ADDR']);
    $is_user_visited_site_today = $wpdb->get_var("SELECT `id`
                                                        FROM `{$tp}wps_user_visits` 
                                                        WHERE `date` = '{$today}' AND `ip` = {$ip}");
    if (empty($is_user_visited_site_today)){
        $wpdb->insert($tp . 'wps_user_visits',
        array(
            'ip' => $ip,
            'date' => $today
        ),
        array(
            '%d','%s'
        ));
    }else{
        $wpdb->query("UPDATE `{$tp}wps_user_visits`
                      SET `visits` = `visits` + 1
                      WHERE `id` = {$is_user_visited_site_today}");
    }
}

add_action('wps_update_db','wps_user_visits_count');

它将增加2次访问DB,而不是1次访问。例如,在这一行SET `visits` = `visits` + 1中,如果我将1改为3,它将增加6次访问,而不是3次访问。

我该如何解决这个问题?

我还使用$wpdb->update。没有变化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-07 12:03:57

问题是代码是而不是

问题在于Wampserver

因此,如果使用wampserver,请备份数据库和www文件夹,然后使用删除wampserver。使用这个程序进行卸载是非常重要的。

在卸载的第一步之后,您应该使用Revo卸载程序删除所有遗留文件.

在此之后,您可以轻松地安装wampserver,并且您可以很好地运行。

--我应该说我也在使用虚拟主机。因此,如果你使用它,我的回答可能会对你有帮助。

如果您正在使用另一个本地主机程序,如XAMP和拉拉贡,请尝试此解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68255588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档