首页 > 解决方案 > WooCommerce 表单字段切换标签和输入的顺序

问题描述

在 Woocommerce 中,表单字段的默认顺序显示如下:

<label>Field label</label>
<input type="text" value="Field value">

但是,我想将这些反转为显示为:

<input type="text" value="Field value">
<label>Field label</label>

我一直无法通过 PHP(首选)实现,而是通过 jQuery 实现,感觉有点“hacky”。此外,我不能使用任何 CSS 解决方案,因为我要实现的目标依赖于 DOM 元素的顺序。

jQuery('form.woocommerce label').each(function(){
    jQuery(this).insertAfter(jQuery(this).parent().find('input'));
})

有没有更有效的方法来实现这一目标?

谢谢

标签: phpjquery

解决方案


你甚至可以在没有 php 或 js 的情况下实现这一点。只需找到您想要调整的模板,例如我的案例。你去 plugins/woocommerce/templates/cart/cart-shipping.php 获取你想要的 .php 模板并创建一个像这样的结构(最好是子主题):yourtheme/woocommerce/cart/cart-shipping.php 或者是特定的 childtheme/ woocommerce/cart/cart-shipping.php 然后只需按照您想要的方式调整 html/php。好处,插件更新后你的主题文件不会被覆盖,不需要使用js,简单的解决方案。


推荐阅读