首页 > 解决方案 > WHMCS - Hook ClientEdit 不会触发

问题描述

当用户编辑他的电子邮件时,我正在尝试触发自定义功能。当我在管理页面中手动编辑但在客户页面上未触发挂钩时,代码运行良好。

我的钩子代码(包括/钩子/index.php):

<?php
if ( !defined('WHMCS')) {
    header("Location: ../../index.php");
}

add_hook('ClientEdit', 1, function ($vars)
{
    file_put_contents('testLog.txt', 'TEST'.PHP_EOL , FILE_APPEND | LOCK_EX);
});

编辑时的管理页面: 行政

编辑时的客户端页面: 客户

标签: phphookwhmcs

解决方案


首先,您不应该编辑hooks/index.php文件。您的修改将在更新期间丢失。相反,在hooks目录中创建一个新文件,并将您的代码放在那里。

我刚刚运行了一个测试,它在 7.6.1 版本上为我工作。这是我用于测试的代码:

add_hook('ClientEdit', 1, function($vars) {
    logActivity('ClientEdit hook from client area', 0);
});

当我从客户区编辑电子邮件时,活动被记录下来。 在此处输入图像描述

如果它在您的安装中不起作用,您应该联系支持人员进行查看。


推荐阅读