wooletthedevsout / product-admin
WLTDO模块用于产品管理和编辑实现。
README
本模块可以作为独立模块或库使用,也可以作为WLTDO框架的一部分,旨在自动化并简化自定义WC产品编辑页面的过程。
最初,类将负责在编辑页面内添加新标签页和产品元数据面板时的一切。此外,我们正在开发用于管理和修改现有标签页和字段的类。
安装
使用此包的最简单方法是使用Composer进行要求。
用法
在插件的主文件中,使用类并通过Composer自动加载它们。
use Wooletthedevsout\Product\Admin\{Tabs, Panels}; require __DIR__ . '/vendor/autoload.php'; $tabs = new Tabs('New Tab', $fields);
Tab类需要两个参数:第一个是新标签页的名称(不是slug),第二个是要添加的字段数组。该数组可以包含任意数量的字段,每个字段都是一个新数组。
// Once the tab is created, we need to inject the panels dependency, using the method getPanel() $tabs->getPanel(); // Also, a title can be added if you want so $tabs->addTitle('The title');
那么,字段是什么呢?
Ohh... 当然。如图所示,字段首先作为数组传递给Tabs实例。目前,我们通过WooCommerce原生支持覆盖所有字段类型:文本、数字、文本区域、复选框、选择、单选(需要CSS修复,因为WC原生功能在产品编辑区域有缺陷)。
因此,我们需要一个数组的数组。每个元素都是一个字段,对于这些中的每一个,第一个元素将是字段类型
*** [{{字段类型}}, {{SLUG}}, {{标签}}, {{描述}}] ***
对于选择类型,一个额外的元素(另一个数组)将包括要添加的选项。对于单选字段也是如此,尽管对于后者,我们只是剪切了描述,因为它在后台生成了很多错误。因此,对于选择字段和单选字段,分别,我们需要注册如下
*** [{{字段类型}}, {{SLUG}}, {{标签}}, {{描述}}, {{选项数组}}] *** *** [{{字段类型}}, {{SLUG}}, {{标签}}, {{选项数组}}] ***
因此,假设我们想添加两个文本字段、一个复选框、一个选择字段和一个单选字段,考虑到之前的代码。要传递的数组看起来像这样
$forms = [ [ 'text', 'user_message', 'Cool Label', 'Description for the tooltip with question mark.' ], [ 'text', 'capacity', 'Another Label', 'Description for the tooltip with question mark.' ], [ 'checkbox', 'confirm', 'Confirmation', 'Description for the tooltip with question mark.' ], [ 'select', 'choices', 'Select Title', 'Description for the tooltip with question mark.', [ 'Choice 1', 'Choice 2', 'Choice 3' ] ], [ 'radio', 'choices', 'Select Title', [ 'Choice 1', 'Choice 2' ] ];
常见问题解答
嗯,这是Woo Let The Devs Out框架的新库和模块之一。我想你们有很多问题。让我们尝试回答一些。
我需要使用钩子或进一步实现来保存这些新字段的元数据吗?
不,Panels类已经配备了完成这一任务的方法。
字段验证怎么样?
坦白说?我们正在努力... 我们对WC原生验证并不满意,所以我们应该最终想出一些更复杂的方法。
我们可以期待新的字段类型(特别是那些不受WC原生API覆盖的类型,如日期时间、图片等)吗?
当然可以,WLTDO框架的目的是提供一种简单且面向对象的方式扩展WooCommerce。虽然一些WC的实现和扩展非常发达,比如支付网关,当开发复杂集成和整个包时,它们要求我们非常重复。