如何将标题帖列表转逗号分隔文本及解决WordPress作者列表无分隔问题
解决WordPress Posts 2 Posts插件生成逗号分隔作者列表的问题
我来帮你搞定这个逗号分隔的问题!其实核心思路就是先把所有关联的作者名称收集到一个数组里,再统一处理分隔,而不是直接在循环里挨个输出名称——这样就不会出现名称连在一起的情况啦。
具体修改步骤:
- 先初始化一个空数组,用来存储所有作者的名称
- 遍历Posts 2 Posts返回的
people类型关联内容,把每个作者的标题添加到数组里 - 最后用PHP的
implode()函数,把数组元素用,(逗号加空格)连接成字符串输出
修改后的代码示例:
// 初始化空数组存储作者名 $authors_array = []; // 获取当前books文章关联的people类型内容(替换成你的P2P连接配置) $connections = p2p_get_connected( get_queried_object_id(), array( 'connected_type' => 'books_to_people', // 这里替换成你实际定义的P2P连接类型 'connected_items' => 'any', ) ); // 遍历关联内容,收集作者名 foreach ( $connections as $person ) { $authors_array[] = get_the_title( $person->ID ); } // 生成逗号分隔的字符串并输出 echo implode( ', ', $authors_array );
为什么这样可行?
implode()函数会自动在数组的每两个元素之间插入指定的分隔符,完全不用你手动判断是不是最后一个元素——既简洁又能避免最后多出来一个逗号的尴尬情况。
如果之后你又需要生成带<li>标签的列表,也可以基于这个数组快速切换:
// 生成列表形式 echo '<ul>'; foreach ( $authors_array as $author ) { echo '<li>' . $author . '</li>'; } echo '</ul>';
内容的提问来源于stack exchange,提问作者Gadget
相关产品推荐
相关产品推荐

