我正在尝试从我的php语句中删除尾随的逗号
<?php foreach( $speaker_posts as $sp ): ?>
{
"@type" : "person",
"name" : "<?php the_field('name_title', $sp->ID); ?>",
"sameAs" : "<?php echo post_permalink( $sp->ID ); ?>"
},
<?php endforeach; ?>
答案 0 :(得分:1)
假设您的数组格式正确(索引从零开始),您可以将其放在开头,跳过第一条记录:
<?php foreach( $speaker_posts as $idx => $sp ): ?>
<?php if ($idx) echo ","; ?>
{
"@type" : "person",
"name" : "<?php the_field('name_title', $sp->ID); ?>",
"sameAs" : "<?php echo post_permalink( $sp->ID ); ?>"
}
<?php endforeach; ?>
否则你需要一个外部计数器:
<?php $idx = 0; foreach( $speaker_posts as $sp ): ?>
<?php if ($idx++) echo ","; ?>
{
"@type" : "person",
"name" : "<?php the_field('name_title', $sp->ID); ?>",
"sameAs" : "<?php echo post_permalink( $sp->ID ); ?>"
}
<?php endforeach; ?>
答案 1 :(得分:1)
由于您显然正在输出JSON,请使用PHP来执行此操作。
<?php
$json = [];
foreach($speaker_posts as $sp) {
$json[] = [
'@type' => 'person',
'name' => get_field('name_title', $sp->ID),
'sameAs' => post_permalink( $sp->ID ),
];
}
print json_encode($json);
?>
旁注:这样可以避免潜在的不安全字符,例如字段/固定链接内容中的引号/撇号。