Получайте заказы с помощью кредитной карты в WooCommerce - PullRequest
1 голос
/ 08 апреля 2019

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

// Get Report for orders made by credit card
foreach( $orders as $order ){
    if ( $order->get_payment_method() = 'nmwoo_2co' ) {
        $order_data = $order->get_data(); // The Order data
        $orders_by_credit .= 'Order Number: #' . $order->id . '<br>' .'Order Status: '. $order->status . '<br>' . 'Order Creation Date: ' . $order_date_created = $order_data['date_created']->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->total . '<br>' . 'Customer Username: ' . $order_billing_first_name = $order_data['billing']['first_name'] . '<br>' . 'Customer E-Mail: '. $order_billing_email = $order_data['billing']['email'] . '<br>' . 'Customer Phone: ' . $order_billing_phone = $order_data['billing']['phone'] . '<br>' . $order->get_payment_method(); 
    }
}

Но условие $orders->get_payment_method() = 'nmwoo_2co' не работает. это недействительно, так как проверить, является ли способ оплаты, используемый в заказе, nmwoo_2co?

1 Ответ

1 голос
/ 08 апреля 2019

Сначала в вашем операторе IF есть ошибка, которая должна быть вместо === вместо =) :

if ( $order->get_payment_method() === 'nmwoo_2co' ) {

Теперь в вашем коде есть некоторые другие ошибки:

$orders_by_credit .= 'Order Number: #' . $order->id . '<br>' .'Order Status: '. $order->status . '<br>' . 'Order Creation Date: ' . $order_date_created = $order_data['date_created']->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->total . '<br>' . 'Customer Username: ' . $order_billing_first_name = $order_data['billing']['first_name'] . '<br>' . 'Customer E-Mail: '. $order_billing_email = $order_data['billing']['email'] . '<br>' . 'Customer Phone: ' . $order_billing_phone = $order_data['billing']['phone'] . '<br>' . $order->get_payment_method(); 

Это должно быть:

$orders_by_credit .= 'Order Number: #' . $order->get_order_number() . '<br>' .'Order Status: '. $order->get_status() . '<br>' . 'Order Creation Date: ' . $order->get_date_created()->date('Y-m-d H:i:s') . '<br>' . 'Order Total: '. $order->get_total() . '<br>' . 'Customer Username: ' . $order->get_billing_first_name() . '<br>' . 'Customer E-Mail: '.  $order->get_billing_email() . '<br>' . 'Customer Phone: ' . $order->get_billing_phone() . '<br>' . $order->get_payment_method(); 

Как получить правильный идентификатор платежа в WooCommerce:

  • Зайдите в бэкэнд, в Настройки> Платежи, когда вы нажимаете на способ оплаты, вы можете увидеть в URL: ?page=wc-settings&tab=checkout&section=paypal, где paypal изменится для каждого метода оплаты на соответствующий идентификатор метода оплаты слизняк.

  • Или на странице оформления заказа вы можете проверить с помощью инструментов браузера, переключатели оплаты для атрибута value, например: value="paypal">

Если вы установите правильный идентификатор платежа, ваше условие будет работать.

См .: Как получить детали заказа WooCommerce

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...