在本地使用 woocommerce api
Posted
技术标签:
【中文标题】在本地使用 woocommerce api【英文标题】:using woocommerce api locally 【发布时间】:2018-04-20 02:22:19 【问题描述】:我正在创建一个与安装在同一个 wordpress 站点上的 woocommerce 通信的 wordpress 插件。我注意到其余的 api 需要 ssl 才能使用,但似乎 ssl 在本地是不可能的,而且 oauth 很麻烦。
有没有不使用 oauth 的 ssl 在本地开发 woocommerce 的方法?
【问题讨论】:
【参考方案1】:我建议首先放弃通过任何 HTTP/S 协议回调到本地站点的想法。这几乎不是正确的决定。
相反,woocommerce 已将 WordPress 挂钩/过滤器系统扩展到自身:https://docs.woocommerce.com/document/introduction-to-hooks-actions-and-filters/。这使您可以在整个 woocommerce 中注入/扩展自己,而无需创建笨拙的回调系统。我不知道您想要/需要做什么,但我可以保证这些钩子可能会为您提供所需的所有功能。
如果您确实需要回调 API。您基本上将无法在本地开发(无需花费大量精力设置本地服务器环境)。而是在单独的服务器上设置开发环境。
我认为这是一个在服务器上运行的主要是 php 插件。相反,如果这将向前端提供大量 javascript,那么您将必须使用 REST API,并且您必须使用 ssl 启动一些开发服务器。 p>
更新:基于以下故意阐述的评论。我假设您想将“销售目标”信息作为发布元数据添加到 woocommerce 产品中。如果您需要,这里是对 post meta 的快速介绍:https://dsgnwrks.pro/how-to/what-is-post-meta-an-intro-to-wordpress-custom-fields/。这是向产品添加信息的最佳做法。
对于销售额与目标的比例。您首先需要一个函数来获取该产品迄今为止的总销售额。这是一个gist,它与woocommerce_single_product_summary
挂钩,并获取当前产品的post_meta total_sales
。您应该能够使用类似的方案来获取total_sales
和sales_goal
发布元数据,然后以您选择的任何方式显示比率。
注意:您可能需要连接到不同的挂钩。或者您甚至可能需要以不同的方式获取当前产品(可能由小部件指定?)以获取 post_meta。
【讨论】:
所以我要做的是创建一个小部件,该小部件从特定产品中获取总销售额并将总销售额作为目标。所以在管理小部件区域:您将选择一个项目,输入一个目标金额,然后在网站的前端,您会看到该项目的销售额是否接近您的目标 所以我真的需要退回该产品的所有过去订单 woocommerce 产品的 post_meta 值total_sales
应该适合您。查看更新的答案。
据我了解,钩子是在 woocommerce 中执行某些操作时发生的回调(类似于事件),并且在从 woocommerce 控制的页面/区域中查看该项目时会调用 woocommerce_single_product_summary
但这插件可以存在于任何页面上,并且应该能够随时显示此数据。如果我错了,请纠正我,但似乎钩子/过滤器可能不适合这个。这个插件可以随时访问该数据。目标金额是小部件元数据的一部分
我的错误。要将其全部包含在小部件中以显示在任何地方,小部件将需要同时具有目标和相关产品。使用小部件产品对 get_post_meta
的 total_sales
元值进行简单调用,即可获得您需要的信息。以上是关于在本地使用 woocommerce api的主要内容,如果未能解决你的问题,请参考以下文章
在 WooCommerce 中选择“本地取货”时,将结帐字段设为可选
尝试在本地测试 WordPress 站点时出现数据库错误(由 WooCommerce 引起?)
在 WooCommerce 电子邮件通知中隐藏本地取货的送货地址