wordpress - 联系表格 7 更改表格标签输出
问题描述
我正在尝试将 contactform7 表单的输出从
<form action="/#wpcf7-f583-p294-o1" method="post" class="wpcf7-form">
到
<form action="/#wpcf7-f583-p294-o1" method="post" class="small-12 column wpcf7-form" novalidate data-abide>
因此我添加了一些钩子
add_filter('wpcf7_form_class_attr', function($html_class) { return 'small-12 column ' . $html_class; }); // adds respsonsive classes to the form-tag
add_filter('wpcf7_form_novalidate', function($support_html5) { return true; }); // adds novalidate-attr to the form-tag
所以我唯一缺少的是数据属性。是否有任何钩子或任何想法,如何到达那里,而不触及核心文件?
我从第 297 行开始在 /contact-form-7/includes/contact-form.php 中找到了魔力
/* Generating Form HTML */
public function form_html( $args = '' ) { // ...
然后,从第 409 行开始
$enctype = apply_filters( 'wpcf7_form_enctype', '' );
...
$atts = array(
'action' => esc_url( $url ),
'method' => 'post',
'class' => $class,
'enctype' => wpcf7_enctype_value( $enctype ),
'autocomplete' => $autocomplete,
'novalidate' => $novalidate ? 'novalidate' : '',
);
...
$atts = wpcf7_format_atts( $atts );
$html .= sprintf( '<form data-abide %s>', $atts ) . "\n";
...
$html .= '</form>';
$html .= '</div>';
所以:将我的值推送到 form_html 函数中的 atts 数组将是我的解决方案。但老实说,我不知道如何-
先感谢您!
解决方案
使用 jQuery。如果我正确阅读了您的问题...您正在尝试添加类small-12
并column
...删除novalidate
并添加data-abide
?
jQuery('#wpcf7-f583-p294-o1 form').addClass('small-12 column').removeAttr('novalidate').attr('data-abide', true);
推荐阅读
- c - “如何修复 C 中的‘格式字符串不是字符串文字(可能不安全)’错误”
- jupyter-notebook - 使用 ipywidgets 交互时表格闪烁
- php - 无法将回显输出写入文本文件
- c - 如何在循环的最后停止换行?
- javascript - React 和 Vue Google 地图 API 在地图上设置新方向之前删除渲染方向
- sql - 从加入自己中选择第一行
- html - 在特定页面上插入不同块的页面的 Vue App 布局
- php - $Factory 未定义变量
- javascript - 如何使用reactjs在json中设置数组名称
- python - 为什么 torch.gt 函数将 requires_grad 变为 False?