除最后一项Get_the_Term_List外的每项之间的逗号

时间:2015-10-11 作者:francois

我在这里和谷歌上搜索,找不到我问题的答案,只希望你能找到相关的答案。

我正在做一个杂志网站,我需要显示投稿人的名字作为署名。我从分类法“贡献者”中获取信息来显示他们的名字。

<?php echo get_the_term_list( $post->ID , \'contributors\', \'By \',\' and \'); ?>
这给了我,由出资人1、出资人2、出资人3、出资人4

但我想换成这样:

By contributor1, contributor2, contributor3 and contributor4

也许这不可能,让我知道。

提前感谢,

弗朗索瓦

2 个回复
SO网友:Milo

get_the_term_list 使用get_the_terms 获取术语对象。您可以使用该函数,并根据需要构建列表。

SO网友:s_ha_dum

If you look at the source...

1420             */
1421            $term_links = apply_filters( "term_links-$taxonomy", $links );
1422    
1423            return $before . join( $sep, $term_links ) . $after;
1424    }
。。。您将看到,没有任何过滤器允许您以影响分隔符出现位置的方式更改字符串。

您可以通过一些regex 但是regex 标记上的操作很复杂,而且容易出错。您最好复制该核心函数,重命名它,并对其进行修改以满足您的需要。