这是一个棘手的问题。
要使用户元更新仅在名字更新时发生,您需要以下内容。
创建一个常数,该常数将包含当前用户名,检查当前用户名是否与配置文件更新时提交的用户名不同,为常数添加以下行。我建议在函数的顶部。php
define(\'USER_FIRST_NAME\', get_user_meta(get_current_user_id(), \'first_name\', true));
现在开始函数
function can_editable_account_count( $customer_get_id ) {
if ( ! is_account_page() && ! is_user_logged_in() ) {
return;
}
// check if user submited the edit account form and if the first name field exists and has value
if (isset($_POST[\'account_first_name\']) && !empty($_POST[\'account_first_name\'])) {
// check if the current user name is not equal to the submited user name
if ($_POST[\'account_first_name\'] !== USER_FIRST_NAME) {
update_user_meta($customer_get_id, \'can_editable_account\', \'0\');
}
}
}