我只看到了你代码的一些部分,但我想我知道问题所在。。。
如果这是您在循环中打印的内容:
<script type="text/javascript">
jQuery(document).ready(function($) {
$(\'.callback\').val(\'<?php echo $user->first_name; ?> <?php echo $user->last_name; ?>\');
});
</script>
<?php echo do_shortcode( \'[contact-form-7 id="12345"]\' ); ?>
你想在同一个页面上输出多个表单,每个表单都应该包含不同的用户,那么你就不能这样做。为什么?由于这一部分:
$(\'.callback\')
表单和JS代码由PHP打印,一切正常。但是,加载页面时,JS将在客户端浏览器中的客户端上运行。因此,第一个JS代码运行,使用类“callback”选择所有元素并设置其值。然后第二个运行并再次设置所有“回调”的值。。。等等
那么如何应对呢
一种最简单的方法是使用div包装表单:
<script type="text/javascript">
jQuery(document).ready(function($) {
$(\'.callback\', \'#user-form-<?php echo $user->ID; ?>\').val(\'<?php echo $user->first_name; ?> <?php echo $user->last_name; ?>\');
});
</script>
<div id="user-form-<?php echo $user->ID; ?>">
<?php echo do_shortcode( \'[contact-form-7 id="12345"]\' ); ?>
</div>
这样,您可以识别每个表单,并仅在该表单内设置字段。