php - 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'));
})
有没有更有效的方法来实现这一目标?
谢谢
解决方案
你甚至可以在没有 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,简单的解决方案。
推荐阅读
- c++ - 如何使用 C++ 内置函数将二维数组转换为最小堆?
- java - 如何将基本数据(如字符串)从 Android Studio 发送到 Tomcat 服务器?
- django - Django:棉花糖没有序列化嵌套的一对多关系
- python - 分解包含数字的非嵌套列表列
- excel - VBA Excel在打印PDF时隐藏带有某些名称的工作表
- xonsh - xonsh“which”等价物 - 如何测试(子进程模式)命令是否可用?
- bash - 导出具有包含空格的值的 env 文件
- java - 将字符串解析为 JSONArray 时出现“org.json.JSONException:字符处未终止的字符串”
- flutter - 如何在应用程序从颤动的任务列表中滑出之前执行一些代码?
- react-native - React Native-Error:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件)但得到:未定义