Создание веб-приложения для просмотра и управления заказами woocommerce

Я ищу способ создать свой собственный веб-интерфейс для просмотра и управления заказами WordPress/WooCommerce.

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

Я быстро изучил это, и кажется, что WooCommerce предоставляет API для подключения. Я бы предпочел построить это с помощью PHP и нашел это https://packagist.org/packages/woothemes/woocommerce-api

Это якобы позволяет мне взаимодействовать с woocommerce с помощью PHP. Я просто не уверен, с чего начать. Я думаю, мой вопрос:

Это на самом деле возможно? Он должен просто отображать заказы на веб-странице по мере их поступления (некоторая форма автоматического обновления) и позволять мне отмечать заказы как завершенные или нет.

и как бы я начал это?

Любая помощь будет оценена по достоинству.

Редактировать: Итак, после того, как я быстро взломал это, у меня действительно есть примерная страница, подключенная к моему сайту WooCommerce, и она отображает заказы.

Теперь мне нужно выяснить, как отображать только соответствующую информацию, так как это пример того, что она хочет распечатать прямо сейчас.

stdClass Object ( [orders] => Array ( [0] => stdClass Object ( [id] => 16 [order_number] => 16 [created_at] => 2015-07-29T17:24:00Z [updated_at] => 2015-07-29T17:24:00Z [completed_at] => 2015-07-29T16:24:00Z [status] => processing [currency] => GBP [total] => 0.00 [subtotal] => 0.00 [total_line_items_quantity] => 1 [total_tax] => 0.00 [total_shipping] => 0.00 [cart_tax] => 0.00 [shipping_tax] => 0.00 [total_discount] => 0.00 [shipping_methods] => [payment_details] => stdClass Object ( [method_id] => [method_title] => [paid] => 1 ) [billing_address] => stdClass Object ( [first_name] => Chris [last_name] => Last name [company] => [address_1] => number [address_2] => [city] => town [state] => [postcode] => post code [country] => GB [email] => email [phone] => phone # ) [shipping_address] => stdClass Object ( [first_name] =

Любая идея, как я могу извлечь соответствующую информацию. Чтобы получить эти данные, я использовал:

print_r( $client->orders->get() );

Извиняюсь за невежество, я новичок в этом JSON :)

Итак, отредактируйте номер 3 здесь:

Как и раньше, я могу просматривать заказы, используя это:

print_r( $client->orders->get() );

Поэтому я подумал, что, может быть, я мог бы использовать цикл foreach для перебора массива. Но это, кажется, не работает.

 $orders = $client->orders->get();

    foreach ($orders as $key => $value){

        echo $key . '=' . $value . '</br>';

    }

Есть идеи?

Итак, обновление номер 4!

Этот цикл, кажется, работает (иш)

foreach( $orders as $order ) {
      foreach( $order as $value ) {
        echo $value["id"] . '</br>';
        echo $value["status"] . '</br>';
        echo $value["total"] . '</br>';
      }
    }

Цикл возвращает следующий результат: введите здесь описание изображения


person chinds    schedule 29.07.2015    source источник
comment
Да, API WooCommerce позволит вам просматривать заказы. Вам следует начать с документации по API и вернуться, когда у вас будет больше конкретная проблема.   -  person helgatheviking    schedule 29.07.2015
comment
Привет, спасибо за ссылку на документацию. Как вы можете видеть в моем отредактированном комментарии, теперь я подключился к магазину и могу просматривать заказы. Однако я не уверен, как просматривать конкретную информацию о заказе, такую ​​как только заказы на товары и электронную почту клиентов. Я могу получить конкретный заказ, используя это: print_r($client-›orders-›get(16)); Я подумал, что смогу написать что-то вроде этого, чтобы, например, получить статус заказа: print_r($client-›orders-›get(16, 'status'));   -  person chinds    schedule 29.07.2015
comment
заказы клиентов и просмотреть заказ. Я еще не успел поиграться с API, поэтому хотел бы увидеть ваш код, когда вы закончите.   -  person helgatheviking    schedule 29.07.2015
comment
Привет, возникли проблемы с этим. Я не могу, например, вывести только статус заказа. любая помощь от кого-либо здесь была бы очень признательна, я должен делать что-то глупое.   -  person chinds    schedule 29.07.2015


Ответы (1)


Статус заказа указан в ответе JSON для просматривать заказы клиентов как свойство status в объекте order.

Отредактировано для декодирования ответа json.

$json = $client->orders->get();

$orders = json_decode( $json );

foreach( $orders->orders as $order ){
    echo $order->order_number. ' has a status = ' . $order->status. '</br>';
}
person helgatheviking    schedule 29.07.2015
comment
Спасибо за ваш ответ, к сожалению, с этим кодом я получаю эту ошибку. Попытка получить свойство не-объекта в D:\wamp2\www\woo\example.php в строке 51. поэтому он не может получить номер номера заказа или статус заказа. То, что я нашел до сих пор, работает нормально для цикла следующим образом: foreach($orders as $order) { foreach($order as $value) { echo $value[id] . '‹/br›'; эхо $значение[статус] . '‹/br›'; эхо $значение[всего] . '‹/br›'; } } Пожалуйста, мой обновленный вопрос для этого примера - person chinds; 30.07.2015
comment
Что ж, эта ошибка означает, что $order не является объектом. Я особо ничего не тестировал. Я вернулся, снова просмотрел документы API и попробовал json_decode. Проверьте мое редактирование. - person helgatheviking; 30.07.2015
comment
Хммм еще раз спасибо за помощь. однако ответ json, кажется, приносит массив, а не строку. Предупреждение: json_decode() ожидает, что параметр 1 будет строкой, объект указан в Я думаю, что я собираюсь использовать свой предыдущий пример и попытаться решить изломы оттуда. Спасибо. - person chinds; 30.07.2015