Обновление метаданных пользователя после регистрации нового пользователя Woocommerce

[Д2] 1. ОПРЕДЕЛЕНИЕ ПРОБЛЕМЫ РАСПРЕДЕЛЕНИЯ

Если D - производный класс базового класса B, то вы можете назначить объект типа Derived переменной (или параметру) типа Base.

ПРИМЕР

class Pet
{
 public:
    string name;
};
class Dog : public Pet
{
public:
    string breed;
};

int main()
{   
    Dog dog;
    Pet pet;

    dog.name = "Tommy";
    dog.breed = "Kangal Dog";
    pet = dog;
    cout << pet.breed; //ERROR

Хотя указанное назначение разрешено, значение, присвоенное переменной pet, теряет поле породы. Это называется проблемой нарезки.

2. КАК ИЗМЕНИТЬ ПРОБЛЕМУ СЦЕПЛЕНИЯ

Чтобы устранить проблему, мы используем указатели на динамические переменные.

ПРИМЕР

Pet *ptrP;
Dog *ptrD;
ptrD = new Dog;         
ptrD->name = "Tommy";
ptrD->breed = "Kangal Dog";
ptrP = ptrD;
cout << ((Dog *)ptrP)->breed; 

В этом случае ни один из элементов данных или функций-членов динамической переменной, на которые указывает ptrD (объект класса потомка), будет потерян. Кроме того, если вам нужно использовать функции, функция должна быть виртуальной.

2
задан LoicTheAztec 24 March 2019 в 16:52
поделиться

1 ответ

Нашли решение, мы должны использовать

Нашли решение, мы должны использовать [111] вместо

Нашли решение, мы должны использовать [111] вместо [112]

function action_woocommerce_created_customer( $customer_id, $new_customer_data, $password_generated ) { 
    update_user_meta($customer_id, 'user_pass2', password_hash(

Нашли решение, мы должны использовать

Нашли решение, мы должны использовать [111] вместо

Нашли решение, мы должны использовать [111] вместо [112]

[110]POST['password']

[110]POST['account_password']
вместо

Нашли решение, мы должны использовать [111] вместо [112]

[110]POST['password']

[110]POST['account_password'], PASSWORD_DEFAULT)); }; add_action( 'woocommerce_created_customer', 'action_woocommerce_created_customer', 10, 3 );
POST['password']

[110]POST['account_password']
вместо

Нашли решение, мы должны использовать [111] вместо [112]

[110]POST['password']

[110]
0
ответ дан Cameron A 24 March 2019 в 16:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: