Автозаполнение оплаченных заказов WooCommerce для определенного платежного шлюза

Я использую WordPress с темой Woodmart и хочу, чтобы заказы выполнялись автоматически. Я установил плагин codesnippets и скопировал следующий код с сайта codesnippet:

Но заказ, который ранее находился в обработке, не завершен! Какой способ оплаты мне следует указать там, где написано «Изменить способ оплаты»?

Автоматически заполненный заказ WooCommerce на основе способа оплаты «Moneris Gateway».

add_action('woocommerce_order_status_changed', 'ts_auto_complete_by_payment_method');
 function ts_auto_complete_by_payment_method($order_id)
{
 
  if ( ! $order_id ) {
        return;
   }
  global $product;
  $order = wc_get_order( $order_id );
 
  if ($order->data['status'] == 'processing') {
        $payment_method=$order->get_payment_method();
        if ($payment_method! = "cod") // Change the Payment Method
        {
            $order->update_status( 'completed' );
        }

  }

}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

При использовании Платёжного шлюза WC Moneris в WooCommerce идентификатор платежа, определенный для Платёжного шлюза Moneris, выглядит просто: moneris.

Его можно найти в файле плагина include/class-wpheka-gateway-moneris.php (строка 30): $this->id = 'moneris';

Теперь на основе Как автоматически заполнять оплаченные заказы в WooCommerce? код ответа. Вот правильный способ автозаполнения заказов, оплаченных через платежный шлюз Moneris:

add_filter( 'woocommerce_payment_complete_order_status', 'wc_auto_complete_paid_order', 10, 3 );
function wc_auto_complete_paid_order( $status, $order_id, $order ) {
    if ( $order->get_payment_method() === 'moneris' ) {
        $status = 'completed';
    }
    return $status;
}

Код находится в файле function.php вашей дочерней темы (или в плагине). Он должен работать.

Большое спасибо за ваше время. Я это сделал, но предыдущий заказ все еще в обработке! Этот код не работает для предыдущих заказов? ... только заказы после этого будут автоматически подтверждаться? Или это вообще не сработало? Теплые пожелания.

hamid khayam 16.05.2024 12:56

Другие вопросы по теме