Intereting Posts
Как показать настраиваемые поля в цикле только для определенных ролей пользователей? WordPress не может загружать данные после миграции Кажется, я не вижу изображения на своей машине, но могу на сервере Проверьте, включен ли пользовательский тип отправки для кнопок TinyMCE Как я могу получить Пользовательские сообщения от имени категорий? Как изменить URL-адрес плагина? Опубликовать страницы / сообщения в формате HTML? Применить WP для использования определенного шаблона поиска Способ подсчета количества зарегистрированных пользователей и количества просмотров? Обновите собственный репозиторий плагинов на Multisite Не удается получить предыдущую и следующую записи постоянной ссылки создание защищенного URL Автоматизация создания страницы Сопоставление таблицы по умолчанию при активации плагина? WordPress multisite и перенаправление на подстраницу

Обновление статуса сообщения в Woocommerce Payment Complete

У меня есть следующий фрагмент кода, который публикует сообщение пользователя, пока они приобрели пакет подписки, и он изменяет статус сообщения на черновик, как только истекает срок их действия. Мне просто интересно, как мне отредактировать его, чтобы пользователь мог создать сообщение, и сообщение автоматически настроено на черновик, а затем статус публикации обновляется до опубликования, как только пользователь завершит оплату пакета? Любая помощь будет принята с благодарностью.

if ( ! in_array( $new_status, array( 'active', 'trial' ) ) ) { $user_limits = stm_get_post_limits( $user_id ); $posts_args = array( 'orderby' => 'post_date', 'order' => 'DESC', 'post_type' => 'listings', 'post_status' => 'publish', 'posts_per_page' => - 1, 'meta_query' => array( array( 'key' => 'stm_car_user', 'value' => $user_id, 'compare' => '' ) ), 'fields' => 'ids' ); $user_posts = get_posts( $posts_args ); if ( count( $user_posts ) > $user_limits['posts_allowed'] ) { array_splice( $user_posts, 0, $user_limits['posts_allowed'] ); foreach ( $user_posts as $user_post ) { $draft_post = array( 'ID' => $user_post, 'post_status' => 'draft' ); wp_update_post( $draft_post ); } } /*Change user back to private if not admin*/ if(!user_can($user_id, 'manage_options')) { wp_update_user( array( 'ID' => $user_id, 'role' => 'privateseller' ) ); } } else { /*If plan includes dealeship, change user role to dealer*/ if ( $role == 'dealer' ) { wp_update_user( array( 'ID' => $user_id, 'role' => 'stm_dealer' ) ); } }