我的html如下所示(简化)
$args = array(...);
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );
foreach ($comments as $comment) {
<a class="respond-to-messages" href="#<?php echo $comment->comment_ID; ?>">Reply to message</a>
<div id="comment-<?php echo $comment->comment_ID; ?>" class="comment-respond-form post-id-<?php echo $comment->comment_post_ID; ?>">
<table>
<tr>
<form id="custom_comments-form" action="" method="post">
//form fields
<button class="uk-button" type="submit">Send</button>
</form>
</tr>
</table>
</div>
}
我的jquery
jQuery(function ($) {
$(document).ready(function(){
$(".comment-respond-form").hide();
$(".respond-to-messages").show();
$(\'.respond-to-messages\').on(\'click\',function(){
$(this).text($(this).text() == \'Reply to message\' ? \'Hide form\' : \'Reply to message\');
$(".comment-respond-form").slideToggle(function(){
if($(\'.comment-respond-form\').height() > 0) {
$(\'html, body\').animate({
scrollTop: $("comment-respond-form").offset().top
}, 1000);
}
});
});
});
});
因为我们处在一个有多条评论的循环中,
.comment-respond-form
实际上应该是
comment-<?php echo $comment->comment_ID; ?>
但是jquery脚本是在循环之外添加的(在页脚和.js文件中)。
非常感谢您的帮助。
编辑:(我们快到了)
我创建了一个额外的按钮来展开/折叠所有表单
<button class="collapse-forms" href="#">Collapse All</button>
$(\'.collapse-forms\').on(\'click\',function(){
$(this).text($(this).text() == \'Collapse All\' ? \'Expand All\' : \'Collapse All\');
$(".comment-respond-form").slideToggle(function(){
});
});
但我注意到以下几点
如何修改我的代码,以便所有表单都将打开/关闭,而不管它们之前是关闭的还是打开的?