带有ACF Repeater字段的PHP邮件格式
我正在开发一个模块,使用ACF中的一些自定义字段从WordPress帖子发送邮件 我的初始结构如下:带有ACF Repeater字段的PHP邮件格式,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我正在开发一个模块,使用ACF中的一些自定义字段从WordPress帖子发送邮件 我的初始结构如下: $to = $wpp_send_status_email; $subject = $wpp_send_status_subject; $body = " <html> <table border='0' cellpadding='0' cellspacing='0' style='back
$to = $wpp_send_status_email;
$subject = $wpp_send_status_subject;
$body = "
<html>
<table border='0' cellpadding='0' cellspacing='0' style='background: #fff; max-width:670px;margin:40px auto;text-align:left;color:#000;border: 1.3px solid rgba(0, 0, 0, 0.05);-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;-webkit-box-shadow: 0px 5px 15px -10px rgba(0, 0, 0, 0.2); box-shadow: 0px 5px 15px -10px rgba(0, 0, 0, 0.2)'>
$to=$wpp\u发送状态\u电子邮件;
$subject=$wpp\u send\u status\u subject;
$body=”
代码工作正常,但当我必须使用带有if和else选项的repeater字段时,我没有成功。我的原始代码是:
<?php if(get_field('to-do')): ?>
<tbody>
<tr>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Tarefa</th>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Deadline</th>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Status</th>
</tr>
<?php while(has_sub_field('to-do')): ?>
<tr style="border-top: 1px solid rgba(0, 0, 0, 0.05)">
<td class="timeline-phase-activity ng-scope" style="text-align: left;vertical-align:middle;font-size:14px;width:60%;font-family:Arial,sans-serif;padding:10px 30px 10px 0"><span><?php the_sub_field('task-name'); ?></span></td>
<td style="vertical-align:middle;text-align:left;padding-left: 24px;font-size:14px;font-family:Arial,sans-serif;padding:10px 0">
<span style="padding-right:1.125rem"><?php the_sub_field('deadline'); ?></span>
</td>
<td style="text-align:left;vertical-align:middle;font-size:14px;font-family:Arial,sans-serif;;padding:10px 0"><span><?php the_sub_field('status'); ?></span>
</td>
</tr>
<?php endwhile; ?>
</tbody>
<?php endif; ?>
塔雷法
截止日期
地位
有人知道我是如何在HTML标签中包含这个字段的吗?我的另一个字段在“HTML”上。get_字段('结论',$post->ID)。“结构,但这不适用于if和else。如果我正确回答了您的问题,您正在寻找一种方法将此内容放入
$body
变量中。这可以通过如下方式使用输出缓冲来实现:
$to = $wpp_send_status_email;
$subject = $wpp_send_status_subject;
ob_start(); // start the output buffering
if(get_field('to-do')): ?>
<tbody>
<tr>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Tarefa</th>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Deadline</th>
<th style="font-family:Arial,sans-serif;text-align: left; vertical-align: middle; padding: 0 0 20px 0; font-size: 14px">Status</th>
</tr>
<?php while(has_sub_field('to-do')): ?>
<tr style="border-top: 1px solid rgba(0, 0, 0, 0.05)">
<td class="timeline-phase-activity ng-scope" style="text-align: left;vertical-align:middle;font-size:14px;width:60%;font-family:Arial,sans-serif;padding:10px 30px 10px 0"><span><?php the_sub_field('task-name'); ?></span></td>
<td style="vertical-align:middle;text-align:left;padding-left: 24px;font-size:14px;font-family:Arial,sans-serif;padding:10px 0">
<span style="padding-right:1.125rem"><?php the_sub_field('deadline'); ?></span>
</td>
<td style="text-align:left;vertical-align:middle;font-size:14px;font-family:Arial,sans-serif;;padding:10px 0"><span><?php the_sub_field('status'); ?></span>
</td>
</tr>
<?php endwhile; ?>
</tbody>
<?php
endif;
$body = ob_get_clean(); // retrieve the output buffer and save to $body
$to=$wpp\u发送状态\u电子邮件;
$subject=$wpp\u send\u status\u subject;
ob_start();//启动输出缓冲
if(get_字段('to-do')):?>
塔雷法
截止日期
地位
get\u sub\u field()
在have\u rows()之外不起作用→ the_row()
context。您的repeater字段是如何构造的?请参阅文档:Hi@Damocles,谢谢您的返回。但是我需要帮助才能在PHP>Body>HTML结构中实现这一点。显然,我必须使用“.”。标记使PHP工作。