从 Wordpress 表单和表单元素中删除 id
Remove ids from Wordpress form and form elements
当我在博客列表页面的循环中使用它时:
<?php comment_form( array( 'post_id' => get_the_ID() ) ); ?>
我为每个 post 得到一个表格,这正是我想要的。
我的问题是,由于表单本身以及输入字段和文本区域有 ID,因此页面无法验证。我自然会收到多个 ID 的错误。
例如,我所有的表格都有 id="commentform"
如何让 Wordpress 删除这些表单中的所有 ID?
您可以将更多选项传递给函数,如下所示。将 <INSERT-UNIQUE-VALUE>
替换为独特的东西,或者您可以使用 php
自动生成它,例如 md5(time())
;
<?php
// Specify options
$options = array(
'id_form' => '<INSERT-UNIQUE-VALUE>',
'id_submit' => '<INSERT-UNIQUE-VALUE>',
'comment_field' => '<p class="comment-form-comment"><label for="<INSERT-UNIQUE-VALUE>">' . _x( 'Comment', 'noun' ) . '</label><textarea id="<INSERT-UNIQUE-VALUE>" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>'
);
// output the form
comment_form($options, get_the_ID());
?>
有关更多参考资料,请参阅:http://codex.wordpress.org/Function_Reference/comment_form#.24args
您可以使用 jquery 解决此问题,方法是用新 ID 替换您的 ID 并在您的 ID 中添加一个数字,这样表单 ID 将为 id="newId0"、id="newId1", id="newId2 等等。然后它会验证。
$('form').each(function(index){
$(this).attr("id","newId"+index);
});
这是一个jsfiddle
当我在博客列表页面的循环中使用它时:
<?php comment_form( array( 'post_id' => get_the_ID() ) ); ?>
我为每个 post 得到一个表格,这正是我想要的。
我的问题是,由于表单本身以及输入字段和文本区域有 ID,因此页面无法验证。我自然会收到多个 ID 的错误。
例如,我所有的表格都有 id="commentform"
如何让 Wordpress 删除这些表单中的所有 ID?
您可以将更多选项传递给函数,如下所示。将 <INSERT-UNIQUE-VALUE>
替换为独特的东西,或者您可以使用 php
自动生成它,例如 md5(time())
;
<?php
// Specify options
$options = array(
'id_form' => '<INSERT-UNIQUE-VALUE>',
'id_submit' => '<INSERT-UNIQUE-VALUE>',
'comment_field' => '<p class="comment-form-comment"><label for="<INSERT-UNIQUE-VALUE>">' . _x( 'Comment', 'noun' ) . '</label><textarea id="<INSERT-UNIQUE-VALUE>" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>'
);
// output the form
comment_form($options, get_the_ID());
?>
有关更多参考资料,请参阅:http://codex.wordpress.org/Function_Reference/comment_form#.24args
您可以使用 jquery 解决此问题,方法是用新 ID 替换您的 ID 并在您的 ID 中添加一个数字,这样表单 ID 将为 id="newId0"、id="newId1", id="newId2 等等。然后它会验证。
$('form').each(function(index){
$(this).attr("id","newId"+index);
});
这是一个jsfiddle