如何从一个插件访问另一个插件中的变量

时间:2019-02-06 作者:JMalone

简介:我的公司既提供产品也提供服务,目前我们使用Woocommerce来销售这两种产品。我希望将产品与服务分开,因为我们对待产品的方式类似于在排队的餐馆里点餐。目前,我们在营业时间内监控收到的订单,并在收到订单后立即开始创建产品。

我在Woocommerce中创建了一个名为“Products”的子菜单,并将其连接到回调函数“product\\u page”以呈现管理页面。这就是我被困的地方。我需要访问所有属于“产品”类别的Woocommerce订单,并在此处显示它们,基本上是作为默认Woocommerce订单管理区域的克隆,但有几个mod。

我正在使用Woocommerce的Gravity Forms产品附加组件,这是我所有产品数据的所在。

问题:我如何访问变量,或者如何使用其他插件类文件中的函数?我需要创建一个自定义数据库表,将重力表单条目数据与自定义数据相结合,然后将其显示在我的管理区域“product\\u页面”上,作为需要创建的当前活动订单队列。

我不了解其他插件中变量的范围,因为我通过插件文件模板来模拟它们,但它们使用的变量没有在文件中定义。我能想到的唯一解释是,他们在文件中的某个地方使用了钩子或其他东西来调用模板文件,并以这种方式传递了变量。

感谢您的帮助,

谢谢

1 个回复
SO网友:hamdirizal

这就是主要问题的答案。You cannot access other plugin\'s variables. 如果它们是使用面向对象编程模式编程的,那么您可能可以访问一些公共变量。但这不是标准的WordPress方式。

最好的方法是使用actionsfilters.

如果您想展示符合特定条件的产品,我建议您创建新的admin menu page, 然后使用WPDB 在那里执行自定义SQL查询。

如果您不知道WooCommerce和Gravity表单数据的结构,只需使用phpmyadmin 或者你熟悉的东西,看看那里的结构。

我希望这有帮助。

相关推荐

在管理中单击添加到菜单时出现admin-ajax.php 500错误

在WordPress(V4.9.9)的管理面板中,当我单击“添加菜单项”时,永无止尽的纺车启动,我得到了管理ajax。控制台中出现php 500错误。错误如下发布https://somedomain.com/wp-admin/admin-ajax.php 500我尝试增加define(\'WP\\u MAX\\u MEMORY\\u LIMIT\',\'512M\');在web配置中。phpmax\\u input\\u vars=6000;在php中。但它并没有解决这个问题。在这个问题上没有错误。记录并