编写定制的WooCommerce模板和表单

时间:2020-01-17 作者:sialfa

我已经开始使用文档中建议的挂钩自定义woocommerce默认模板。

关于这方面,我有两个问题,我想了解我是否可以只使用条件标记编写自己的模板,或者我是否需要维护包含大量do_action() 更少的标记,我没有修改它们,只是在mytheme/woocommerce/ 我现在的主题文件夹。

另一个问题是关于woocommerce中的表单样式,我需要用表单表ecc的相关类实现bootstrap 4,但我找不到模板或挂钩来实现这一点。有人能帮我澄清我的疑问吗?

2 个回复
SO网友:Tony Djukic

要回答第二个问题,您必须将Bootstrap 4样式和脚本正确排队:Including CSS & JavaScript | Theme Development

从那以后,您要么将现有的WooCommerce类添加到引导CSS中,要么将引导类添加到WooCommerce模板中(首选/推荐)。

至于模板,这实际上取决于您正在构建的模板以及您试图实现的目标。默认WooCommerce模板中的操作和过滤器是有原因的,因此最好确定它们的作用以及您是否需要它们(您可能需要)。。。这在很大程度上还取决于起点是什么。每个主题的模板都有不同的结构,因此这在这方面是一个非常模糊的问题。我的建议是将现有模板复制到mytheme/woocommerce/ 然后从那里开始修改。也许可以通过简单地添加BootStrap 4类来测试它?

SO网友:Jacob Peattie

我想了解我是否可以只使用条件标记编写自己的模板,或者我是否需要维护包含大量do_action() 更少的标记,我没有修改它们,只是在mytheme/woocommerce/ 我现在的主题文件夹。

WooCommerce扩展都广泛使用了这些do_action() 电话,因此您需要保留这些&dmash;在大致相同的地方—如果您想与大多数扩展兼容。

关于标记本身,WooCommerce的许多JavaScript都是基于默认标记中使用的类(有时是元素),如果更改了标记,就会出现问题。问题是,WooCommerce的JavaScript需要哪些类没有很好的文档记录(如果有的话)。您基本上需要查看WooCommerce的JavaScript文件才能知道。WooCommerce扩展中的JavaScript可能还需要某些类,它们可能没有文档记录,也可能没有文档记录。

另一个问题是关于woocommerce中的表单样式,我需要用表单表ecc的相关类实现bootstrap 4,但我找不到模板或挂钩来实现这一点。有人能帮我澄清我的疑问吗?

这没有一个挂钩或模板。有许多函数和模板输出可能需要引导类的元素,但它们并没有完整的文档记录。例如woocommerce_form_field() 输出多种类型输入的函数,基本上需要重写这些输入,但有许多模板甚至没有将此函数用于表单字段,因此您还需要更改这些模板以保持一致性。表格、布局和按钮的情况也会类似

如果您想使用Bootstrap来设计WooCommerce,那么最终需要为几乎每个模板(有100多个)重新编写HTML以使用正确的类,并过滤大量函数以生成兼容的输出。这将是一项巨大的工作,您需要为每个WooCommerce更新维护它。这不值得。您只需编写自己的CSS就可以轻松得多。有时,依赖框架实际上是没有帮助的。