我在WP管理中创建了一个工具,搜索自定义帖子类型($apartments),返回$apartments及其帖子元列表,允许用户选中选中的帖子旁边的复选框,最后通过电子邮件将选中的帖子发送给客户端。这是一个$apartments推荐工具。
目前,我使用一些JS从选定的公寓中获取一串帖子ID以及电子邮件地址,然后将它们发送到查询DB并在使用wp_mail()发送之前返回HTML模板中的这些帖子的函数。
我不保存这些帖子,一切都是在飞行中生成的。评论框(.comments)是在飞行中使用的,我也想将这些传递给查询函数,但是,如果我将这些添加到他们自己的JS字符串中,因为我已经完成了post ID,那么我如何用我的循环将这些回显到他们适当的项目。这里的第一项和第三项都有注释,我如何将注释添加到循环中的第一项和第三项中呢?
我通过ajax将所有这些数据发送到PHP函数,因此这将作为JS字符串发布到PHP函数。
<div class="search-reults">
<ul>
<li class="item <?php echo $ID; ?>">
<p>apartmentname</p>
<textarea class="comments">some comments</texarea>
<input type="checkbox" name="selectthis">
</li>
<li class="item <?php echo $ID; ?>">
<p>apartmentname</p>
<textarea class="comments"></texarea>
<input type="checkbox" name="selectthis">
</li>
<li class="item <?php echo $ID; ?>">
<p>apartmentname</p>
<textarea class="comments">some comments</texarea>
<input type="checkbox" name="selectthis">
</li>
<li class="item <?php echo $ID; ?>">
<p>apartmentname</p>
<textarea class="comments"></texarea>
<input type="checkbox" name="selectthis">
</li>
</ul>
</div>
jQuery('.item:has(input:checked)').each(function() {
var str = jQuery(this).find('input[type=checkbox]').val();
postidstring += postidstring.length > 0 ? ',' + str : str;
});
单击此按钮后,通过ajax将postdstring发送给wp_query(),它将在循环中返回公寓并通过wp_mail()发送结果HTML;
那么您想知道如何自动化这个过程?对吧?
首先,需要将公寓列表存储到一个数组中。假设您知道如何通过MySQL查询从DB获取公寓列表,我将跳到下一步。
<?php
for($i=0; $i<$size_of_apartments; $i++)
{?>
<li class="item" <?php echo $apartments[$i]['id']; ?>>
<p><?php echo $apartments[$i]['apartment_name'];?></p>
<textarea class="comments"><?php echo $apartments[$i]['comments'];?></textarea>
<input type="checkbox" name="selectthis">
</li>
<?php }?>
希望这对你有所帮助!:)