3ответ(ов) в теме
Извиняюсь, возможно это исправлено в более поздних версиях , рекалл 8.5.1
Обратил внимание, на следующий момент, ставлю пользователю баллы за пост, пользователь выкладывает другую запись, первая запись удаляется, но баллы у пользователя за нее остаются, хотя логичнее что бы баллы снимались
Все верно, так и должно работать, но как я выяснил не работает. Поправлю этот функционал в следующем обновлении.
А пока можете найти эти две функции в коде дополнения рейтинга:
add_action('before_delete_post', 'delete_raytings_with_post_rcl'); function delete_raytings_with_post_rcl($postid){ global $wpdb; $wpdb->query("DELETE FROM ".RCL_PREF."rayting_post WHERE post = '$postid'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_posts WHERE post_id = '$postid'"); } if (is_admin()): add_action('delete_comment', 'delete_rayting_comment_with_comment'); endif; function delete_rayting_comment_with_comment($comment_id){ global $wpdb; $wpdb->query("DELETE FROM ".RCL_PREF."rayting_comments WHERE comment_id = '$comment_id'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_comments WHERE comment_id = '$comment_id'"); }
и заменить этим кодом:
add_action('before_delete_post', 'delete_raytings_with_post_rcl'); function delete_raytings_with_post_rcl($postid){ global $wpdb; $data_p = get_post($postid); $karma_p = $wpdb->get_var("SELECT total FROM ".RCL_PREF."total_rayting_posts WHERE post_id = '$postid'"); $karma_p = -1*$karma_p; update_total_rayt_user_rcl($data_p->post_author,$karma_p); $wpdb->query("DELETE FROM ".RCL_PREF."rayting_post WHERE post = '$postid'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_posts WHERE post_id = '$postid'"); } if (is_admin()): add_action('delete_comment', 'delete_rayting_comment_with_comment'); endif; function delete_rayting_comment_with_comment($comment_id){ global $wpdb; $data_c = get_comment($comment_id); $karma_c = $wpdb->get_var("SELECT total FROM ".RCL_PREF."total_rayting_comments WHERE comment_id = '$comment_id'"); $karma_c = -1*$karma_c; update_total_rayt_user_rcl($data_c->user_id,$karma_c); $wpdb->query("DELETE FROM ".RCL_PREF."rayting_comments WHERE comment_id = '$comment_id'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_comments WHERE comment_id = '$comment_id'"); }
Андрей Plechev said
Все верно, так и должно работать, но как я выяснил не работает. Поправлю этот функционал в следующем обновлении.
А пока можете найти эти две функции в коде дополнения рейтинга:
add_action('before_delete_post', 'delete_raytings_with_post_rcl'); function delete_raytings_with_post_rcl($postid){ global $wpdb; $wpdb->query("DELETE FROM ".RCL_PREF."rayting_post WHERE post = '$postid'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_posts WHERE post_id = '$postid'"); } if (is_admin()): add_action('delete_comment', 'delete_rayting_comment_with_comment'); endif; function delete_rayting_comment_with_comment($comment_id){ global $wpdb; $wpdb->query("DELETE FROM ".RCL_PREF."rayting_comments WHERE comment_id = '$comment_id'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_comments WHERE comment_id = '$comment_id'"); }
и заменить этим кодом:
add_action('before_delete_post', 'delete_raytings_with_post_rcl'); function delete_raytings_with_post_rcl($postid){ global $wpdb; $data_p = get_post($postid); $karma_p = $wpdb->get_var("SELECT total FROM ".RCL_PREF."total_rayting_posts WHERE post_id = '$postid'"); $karma_p = -1*$karma_p; update_total_rayt_user_rcl($data_p->post_author,$karma_p); $wpdb->query("DELETE FROM ".RCL_PREF."rayting_post WHERE post = '$postid'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_posts WHERE post_id = '$postid'"); } if (is_admin()): add_action('delete_comment', 'delete_rayting_comment_with_comment'); endif; function delete_rayting_comment_with_comment($comment_id){ global $wpdb; $data_c = get_comment($comment_id); $karma_c = $wpdb->get_var("SELECT total FROM ".RCL_PREF."total_rayting_comments WHERE comment_id = '$comment_id'"); $karma_c = -1*$karma_c; update_total_rayt_user_rcl($data_c->user_id,$karma_c); $wpdb->query("DELETE FROM ".RCL_PREF."rayting_comments WHERE comment_id = '$comment_id'"); $wpdb->query("DELETE FROM ".RCL_PREF."total_rayting_comments WHERE comment_id = '$comment_id'"); }
Спасибо !
Тема закрыта. Публикация новых сообщений запрещена.