Add_action不适用于我的函数

时间:2019-08-09 作者:Riyacte

我正在尝试构建一个功能,该功能在成员在我的网站上注册时运行。

我正在使用简单的LDAP登录插件构建一个外联网,以使用我的LDAP目录,这样用户就可以使用他们用于LDAP帐户的凭据在外联网上进行连接。

遗憾的是,在我的LDAP目录中,没有允许我填写我的WordPress用户配置文件的“first\\u name”和“last\\u name”字段的字段。因此,由于电子邮件地址的构成必须如下所示:[email protected], 此函数用于剪切电子邮件地址,以便我可以在表中检索名字和姓氏,然后填写first_namelast_name WordPress用户的字段wp_update_user();

当用户第一次登录时,他们实际上在我的WordPress站点上没有帐户。当连接到extranet查询LDAP目录时,就会创建帐户。这就是为什么我想用user_register 动作钩;

我的职能是functions.php.

功能如下:

add_action( \'user_register\', \'fill_identity\' );
function fill_identity(){

    global $current_user; 
    wp_get_current_user();
    get_currentuserinfo();
    $mail_user=$current_user->user_email;
    $mail_user = substr($mail_user,0,-14);
    $mail_user = explode(".", $mail_user);
    $prenom = $mail_user[0] = ucfirst($mail_user[0]);
    $nom = $mail_user[1] = ucfirst($mail_user[1]);
    var_dump($mail_user);
    wp_update_user([
        \'ID\' => $current_user->ID, 
        \'first_name\' => $prenom,
        \'last_name\' => $nom,
    ]);

}
但当有人在我的网站上注册时,一切都不会改变。我已测试运行fill_identity() 来自的函数header.php 这个函数运行得很好,这是我如何知道问题不是我的函数而是add_action. 我试过其他的动作,但都没用。

我对自己写钩子不太熟悉,这是我第一次写钩子。然而,我的functions.php 包含了很多我为其他一些功能找到的功能,而且效果很好。

你有什么主意吗?

1 个回复
SO网友:Usdad Pravin

您好,请检查以下代码。

add_action( \'user_register\', \'fill_identity\', 10, 1 );
function fill_identity($user_id){

    $current_user = get_userdata($user_id);
    $mail_user = $current_user->user_email;
    $mail_user = substr($mail_user,0,-14);
    $mail_user = explode(".", $mail_user);
    $prenom = $mail_user[0] = ucfirst($mail_user[0]);
    $nom = $mail_user[1] = ucfirst($mail_user[1]);
    var_dump($mail_user);
    wp_update_user(array(
        \'ID\' => $current_user->ID, 
        \'first_name\' => $prenom,
        \'last_name\' => $nom,
    ));
}

相关推荐

WooCommerce在Orders列表的Bulk Actions下拉列表中添加一个新的Bulk Actions

我试图在WooCommerce订单列表中添加一个自定义批量操作,这将是我为单个订单编写的一段代码,但需要使其递归工作。我知道:Custom bulk_action 但它指的是wordpress批量操作菜单,而不是专门针对woocommerce的。你能帮我在我的woocommerce订单列表插件中运行它吗?此外,我还对如何在添加该操作后扫描要检查的订单并仅对所选订单应用批量操作感到有点困惑。