使用 CPT 和 ACF 在循环中出现 'Headers already sent' 错误
Getting 'Headers already sent' error in loop with CPT and ACF
我创建了自定义 posttype 并使用 ACF 中的字段。
我制作了这个在前端运行良好的循环..,但是当在 CPT 中发送 post 时,它给出错误:Headers alreday sent。
错误指的是 if( $posts ) 语句正下方的行。
这里有什么问题吗?
add_shortcode("custom_acf", "event_loop_shortcode");
function event_loop_shortcode() {
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'event'
));
if( $posts )
echo '<div class="event"><div class="event_title"><h3>';
the_title();
echo '</h3></div><div class="event_date">';
the_field("dato");
echo '</div></div>';
}
简码函数应该 return 内容而不是回显它。另外,我认为您的 if
语句缺少大括号。
add_shortcode("custom_acf", "event_loop_shortcode");
function event_loop_shortcode() {
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'event'
));
if ( $posts ) {
ob_start();
echo '<div class="event"><div class="event_title"><h3>';
the_title();
echo '</h3></div><div class="event_date">';
the_field("dato");
echo '</div></div>';
$result = ob_get_clean();
} else {
$result = '';
}
return $result;
}
我创建了自定义 posttype 并使用 ACF 中的字段。 我制作了这个在前端运行良好的循环..,但是当在 CPT 中发送 post 时,它给出错误:Headers alreday sent。 错误指的是 if( $posts ) 语句正下方的行。
这里有什么问题吗?
add_shortcode("custom_acf", "event_loop_shortcode");
function event_loop_shortcode() {
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'event'
));
if( $posts )
echo '<div class="event"><div class="event_title"><h3>';
the_title();
echo '</h3></div><div class="event_date">';
the_field("dato");
echo '</div></div>';
}
简码函数应该 return 内容而不是回显它。另外,我认为您的 if
语句缺少大括号。
add_shortcode("custom_acf", "event_loop_shortcode");
function event_loop_shortcode() {
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'event'
));
if ( $posts ) {
ob_start();
echo '<div class="event"><div class="event_title"><h3>';
the_title();
echo '</h3></div><div class="event_date">';
the_field("dato");
echo '</div></div>';
$result = ob_get_clean();
} else {
$result = '';
}
return $result;
}