Обновление срока действия Memberpress после создания транзакции - PullRequest
0 голосов
/ 12 января 2020

Я хочу назначить дату истечения срока действия Memberpress 1 (или 2) годам от текущей даты истечения срока действия вместо добавления лет к сегодняшней дате, что является поведением по умолчанию.

Я использую гравитационные формы с гравитацией нажмите для регистрации участников. В форме я беру текущую дату истечения срока действия, добавляю к ней соответствующее количество лет и помещаю ее в другое поле, которое входит в usermeta при сохранении формы.

Я пытаюсь использовать следующий код обновить дату истечения срока, когда транзакция будет завершена.

Я на правильном пути?

 $transaction = $event->get_data();
 $user = $transaction->user();

 if(($subscription = $transaction->subscription_id)) {
   $subscription_number = $subscription->subscr_id;
   //This transaction belongs to a recurring subscription
 }
 else {
   $transaction_number = $transaction->trans_num;
   //This is a non-recurring transaction
 }

global $wpdb;

$newdate = mysql_result(mysql_query("SELECT yearFromNow FROM usermeta WHERE userid = ".$user. "and meta_key = 'mepr_mepr_yearfromnow' " ), 0);

$insertdate = mysql_result(mysql_query("INSERT into wp_mepr_transactions max(expires_at) value ".$newdate." into WHERE userid = ".$user ), 0);


}
add_action('mepr-event-transaction-completed', 'mepr_capture_completed_transaction'); ```

1 Ответ

0 голосов
/ 13 января 2020

SQL Запросы должны быть проверены на наличие ошибок, прежде чем предположить, что в возвращаемом значении есть результат.

Всегда смотрите, выполняете большую часть в SQL, а не извлекаете в PHP и затем повторно используете данные. Например, в вашем случае есть INSERT .. SELECT , который может быть полезен.

Обратите внимание на синтаксис, ваш оператор INSERT не соответствует существующему синтаксису и трудно понять, что было задумано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...