3ответ(ов) в теме
вася
не в сети 3 года
На сайте с 19.06.2017
Участник
Тем 105
Сообщения 394
1
19:38
Версия WP-Recall: 16.1.5

Здравствуйте, я использую хук для награды оплатой за публикацию. Вот пример хука:

add_action('save_post','save_book_meta', 10, 2);
function save_book_meta ($post_id, $post, $update, $ad){

	if($update || $post->post_status != 'publish') return false;
	$user_id = $post->post_author;
	$balance = rcl_get_user_balance($user_id);
	$balance += 0.3;
	rcl_update_user_balance($balance,$user_id,'Бонус за публікацію');
}

Возникла проблема, при обновлении записи снова происходит начисление оплаты. То есть автор отредактировал и снова получил оплату.
Как это исправить?
Я думаю это хук сохранения.
Не подскажите может какой-то есть еще хук. Который работает только при публикации записи 1 раз.
То есть админ проверил опубликовал запись - автор получил оплату и все больше за эту запись автор не получает оплату, даже если происходит обновление записи.

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
19:51

Там не все просто с хуками перехода публикаций. Есть 3-й аргумент у хука - он показывает запись обновлена или нет
Подробней в официальной документации к вордпрессу

Вы не можете просматривать опубликованные ссылки

Вот его и учитывайте - подправив логику php функции

p.s. почему вы в хуке передаете 2 аргумента, а в функции 4-ре? Откуда вы $ad взяли? Не нужно придумывать от себя - читайте документацию к хуку

0
вася
не в сети 3 года
На сайте с 19.06.2017
Участник
Тем 105
Сообщения 394
3
21:56

спасибо, решил,тема закрыта

0
Тема закрыта. Публикация новых сообщений запрещена.