在高级自定义字段中使用GET_FIELD输出逗号

时间:2019-12-11 作者:Ryan

我想以这种格式输出名称和学位:John Doe,PhD

我的代码如下:

$degree = get_field( \'degree\', $post->ID );
<h4 class="block-slider-faculty__slide__details__title"><?php the_title(); ?><?php echo implode(\', \', $degree); ?></h4>
我收到一个“警告:内爆():传入的参数无效…”错误。

我想我需要把$degree 在阵列中?请让我知道如何使用上面的代码做到这一点。谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:butlerblog 整理而成

implode() 用于获取数组并将其转换为字符串。除非$degree 是一个数组,您将得到一个错误。

如果$degree 已经是字符串值,无需implode()

我在这里猜测是因为你没有在你的问题中包含任何关于名称来源以及“学位”字段是否只是学位的信息。因此以下是基于一个假设the_title() 是名称和$degree 仅将学位包含为字符串(如“PhD”)。

$degree = get_field( \'degree\', $post->ID ); <h4 class="block-slider-faculty__slide__details__title"><?php the_title(); ?>, <?php echo $degree; ?></h4>

当然,如果有可能$degree 是空的,您还必须考虑到这一点,因此以下内容在这方面可能更好:

$degree = get_field( \'degree\', $post->ID ); $degree_output = ( $degree ) ? ", " . $degree : \'\'; <h4 class="block-slider-faculty__slide__details__title"><?php the_title(); echo $degree_output; ?></h4>

(还要注意,在第二个示例中(或您的原始示例中),没有必要关闭PHP然后立即重新打开。)

相关推荐