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

Здравствуйте, написал функцию оплаты за публикацию поста (произвольна запись вордпресс)

add_action('publish_post','my_edit_user_post');
function my_edit_user_post ($ad){
	rcl_update_user_balance(10,$user_id,'Бонус за публікацію');
}

Возникает ошибка не работает, в чем может быть проблема? хук вроде тот, дальше делал по примеру

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

если не трудно помогите пожалуйста, не могу разобраться

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

Может я не тот жук указал ?

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

Здравствуйте.
По функционалу вордпресс (его хуки) - обращайтесь на форум поддержки WordPress

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

или

Вы не можете просматривать опубликованные ссылки
0
вася
не в сети 3 года
На сайте с 19.06.2017
Участник
Тем 105
Сообщения 394
5
20:46

А если хук верный дальше правильно описана функция для дополнения wp-recell?

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

lev-best97@ukr.net сказал(а)
А если хук верный

В одной из прошлых тем я вам

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

как проверить тот это хук или нет. Извините - но нянчиться, в рамках обучения php и вордпресса - вы попали не на тот ресурс. Найдите ментора, заплатите за обучение и задавайте ему вопросы.

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

описана на сайте - но снова вы не хотите поиском по сайту воспользоваться и найти её. Посмотреть что там написано. А вы юзеру просто затрете баланс и все. Вы же не получаете значение, а тупо в лоб обновляете, затирая его текущий баланс.

И

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

что id юзера не определен.

Внимательнее пожалуйста.

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

1. На сайте описание нашел сделал по примеру
2. ID юзера определяю (указал автор записи)
3. В тех поддержку писал, сказали хук такой. Обращайтесь к создателю дополнения - который реализует данный хук.

вот пример кода - не работает -

add_action('publish_post','my_edit_user_post');
function my_edit_user_post ($ad){
$user_id = $post->post_author;
$balance = rcl_get_user_balance($user_id);
$balance = 100;
rcl_update_user_balance($balance,$user_id,'Изменение баланса');
    
}

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
8
15:08

lev-best97@ukr.net сказал(а)
ID юзера определяю (указал автор записи)

ну а теперь $post неопределен

lev-best97@ukr.net сказал(а)
Обращайтесь к создателю дополнения - который реализует данный хук.

что еще за техподдержка? хук, который вы пытаетесь использовать вообще от ядра ВП, а не дополнения.
А вообще в коде кавардак.

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
9
15:15

add_action('publish_post','my_edit_user_post', 10, 2);
function my_edit_user_post ($post_id, $post){
	$user_id = $post->post_author;
	$balance = rcl_get_user_balance($user_id);
	$balance += 100;
	rcl_update_user_balance($balance,$user_id,'Изменение баланса');
}

Редакции сообщения
29.07.2018 15:15Андрей CSПричина: не указано
0
вася
не в сети 3 года
На сайте с 19.06.2017
Участник
Тем 105
Сообщения 394
10
15:19

не работает, после публикации записи, рейтинг автора не изменяется

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
11
15:42

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

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

извиняюсь баланс не меняется

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
13
17:19

видимо хук не отрабатывает

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

а вы не могли бы подсказать хук добавление новой записи. Я ничего не могу найти в интернете. Много хуков после добавление записи отправка на почту уведомления. А других не могу найти.

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

я так пологаю такова плана не подходит

function authorNotification($post_id) {

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

так же пробовал хук save_post но тоже не работает

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

я понимаю, уже вам надоел. По этому прошу последний раз помощи, с этим хуком, больше задавать глупые вопросы и просьбы помощи не буду. Мне нужно добавить награждение пользователя за пост делать оплату ему.

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
18
20:32

для начала сообщите каким образом запись добавляется

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

есть страница, для публикации,пользователь заходит и публикует запись.
запись post_type=ad
Заполняет форму если нужно могу скинуть форму.

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

Здравствуйте, нашел вариант - вот так сделал,

add_action('save_post','save_book_meta', 10, 2);
function save_book_meta ($post_id, $post, $ad){
	$user_id = $post->post_author;
	$balance = rcl_get_user_balance($user_id);
	$balance += 0.5;
	rcl_update_user_balance($balance,$user_id,'Бонус за публікацію');
}

только мне необходимо чтобы баланс пополнялся после опубликования записи. А сейчас когда пользователь только отправляет запись на рассмотрение сразу ему приходит сума.
То есть хук срабатывает когда у записи статус "pending" а необходимо платить когда запись в статусе "publish". В интернете не могу найти похожий хук. Как и обещал последняя просьба.

Редакции сообщения
29.07.2018 22:44lev-best97@ukr.netПричина: не указано
0
вася
не в сети 3 года
На сайте с 19.06.2017
Участник
Тем 105
Сообщения 394
21
22:52

пробовал такой вариант, но тоже не работает

add_action( 'transition_post_status', 'wpse120996_post_status_publish', 10, 3 );
function wpse120996_post_status_publish( $new_status, $old_status, $post_ID ) { 
    if ( $new_status == 'pending' && $old_status == 'publish' ) {
        	$user_id = $post->post_author;
	$balance = rcl_get_user_balance($user_id);
	$balance += 0.5;
	rcl_update_user_balance($balance,$user_id,'Бонус за публікацію');
     }   
        }   
        

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

еще заметил, после публикации на рассмотрение юзеру приходят деньги. А после того как администратор публикует его запись то юзеру опять приходят деньги. В данном случае 0.5 - 2 раза

Редакции сообщения
29.07.2018 23:09lev-best97@ukr.netПричина: не указано
0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
23
08:40

ну если у вас хук save_post отрабатывает, то его и используйте, только получайте через него не два, а три параметра, третий - метка обновления поста, если есть, значит пост обновлен, если нет - значит только что опубликован, ну и проверяйте статус поста.

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

	if($update || $post->post_status != 'publish') return false;

	//а дальше свой код...
}

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

Здравствуйте, попробовал не работает, не добавляет деньги вообще ни в каком случае

add_action('save_post','save_book_meta', 10, 3);
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.5;
	rcl_update_user_balance($balance,$user_id,'Бонус за публікацію');
}

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

нашел проблему только не совсем понимаю почему так
нужно первую строчку

не такую add_action('save_post','save_book_meta', 10, 3);

а такую add_action('save_post','save_book_meta', 10, 2);

нужно 10, 2
почему именно 10,2, не подскажете?

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

Читайте описание функции add_action - это апи вордпресс. Функцию найдете в документации к ВП

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

спасибо за помощь, тема закрыта

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
28
11:17

lev-best97@ukr.net сказал(а)
нашел проблему

я не вижу никаких проблем в предложенном мной коде, через хук можно получить до трех аргументов, что я сделал, неясно зачем вы туда вставили переменную $ad

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

не работало, добавил $ad но тоже не работало, когда добавил 10,2 заработало
можно было не добавлять, удалил это.

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
30
11:26

lev-best97@ukr.net сказал(а)
добавил $ad

Зачем вы вообще это добавляете?
Не работает потому что в коде стоит проверка на обновление через переменную $update, видимо у вас именно обновление записи и идет, потому код и не отрабатывает, отработает, когда запись будет именно публиковаться со статусом publish.
Вам надо уметь читать код иначе у вас так и не будет ничего работать просто из-за того, что вы элементарных вещей не видите.

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