локальное использование woocommerce api

Я создаю плагин wordpress, который взаимодействует с woocommerce, установленным на том же сайте wordpress. Я заметил, что остальные API требуют использования ssl, но кажется, что ssl локально невозможен, а oauth — это заноза в заднице.

Есть ли способ локальной разработки для woocommerce без ssl, который не использует oauth?


person zero    schedule 07.11.2017    source источник


Ответы (1)


Я бы порекомендовал начать с отказа от идеи обратного вызова на локальный сайт по любому протоколу HTTP/S. Это почти никогда не бывает правильным решением.

Вместо этого woocommerce расширил систему хуков/фильтров WordPress на себя: https://docs.woocommerce.com/document/introduction-to-hooks-actions-and-filters/. Это позволяет вам внедрять/расширять себя в woocommerce, не создавая громоздкую систему обратного вызова. Я не знаю, что вы хотите/нужно делать, но я могу гарантировать, что хуки, вероятно, дадут вам всю необходимую функциональность.

Если вам действительно нужно делать обратные вызовы API. Вы в принципе не сможете разрабатывать локально (без особых усилий по настройке локальной серверной среды). Вместо этого настройте среду разработки на отдельном сервере.


Я предположил, что это в основном подключаемый модуль php, работающий на сервере. Если вместо этого во внешнем интерфейсе будет передаваться много JavaScript, тогда вам придется использовать REST API, и вам придется установить сервер разработки с ssl.


Обновление: на основе комментария ниже, специально изложенного. Я предполагаю, что вы решили добавить информацию о «цели продаж» в качестве метаданных публикации к продукту woocommerce. Вот краткое введение в метаданные постов, если они вам нужны: https://dsgnwrks.pro/how-to/what-is-post-meta-an-intro-to-wordpress-custom-fields/. Это было бы лучшей практикой для добавления информации к продуктам.

За долю продаж к цели. Сначала вам понадобится функция, чтобы получить общий объем продаж этого продукта на сегодняшний день. Вот суть, которая подключается к woocommerce_single_product_summary и получает post_meta total_sales для текущего продукта. Вы должны иметь возможность использовать аналогичную схему, чтобы получить как total_sales, так и метаданные вашего сообщения sales_goal, а затем просто отображать соотношение любым способом, который вы выберете.

Примечание. Возможно, вам придется прикрепить к другому крючку. Или вам даже может понадобиться получить текущий продукт другим способом (может быть, указанным в виджете?), чтобы получить post_meta.

person Kallmanation    schedule 07.11.2017
comment
Итак, что я пытаюсь сделать, так это создать виджет, который берет общий объем продаж определенного продукта и основывает его на цели. поэтому в области виджета администратора: вы должны выбрать элемент, ввести сумму цели, а в интерфейсе сайта вы увидите, близки ли продажи этого элемента к вашей цели. - person zero; 07.11.2017
comment
так что действительно мне нужно вернуть все прошлые заказы на этот продукт - person zero; 07.11.2017
comment
Продукты woocommerce имеют значение post_meta total_sales, которое должно вам подойти. Смотрите обновленный ответ. - person Kallmanation; 07.11.2017
comment
насколько я понимаю, хуки - это обратные вызовы, которые происходят, когда что-то выполняется в woocommerce (аналогично событию), и woocommerce_single_product_summary вызывается при просмотре этого элемента на странице/области, контролируемой woocommerce, но этот плагин может жить на любой странице и должен иметь возможность для отображения этих данных в любое время. пожалуйста, поправьте меня, если я ошибаюсь, но кажется, что хуки/флитеры не подходят для этого. этот плагин будет иметь доступ к этим данным в любое время. сумма цели является частью метаданных виджета - person zero; 07.11.2017
comment
Виноват. Чтобы все это содержалось в виджете для отображения в любом месте, виджет должен иметь как цель, так и соответствующий продукт. Простой вызов get_post_meta для мета-значения total_sales с продуктом виджетов должен получить необходимую информацию. - person Kallmanation; 07.11.2017