我很确定这只是一个PHP问题,但我想问一下,万一这个问题可能在WordPress函数中出现。
我有一个叫做“简介文本”的术语meta,它只是对这个术语的描述。我正在尝试将描述链接到父元素。
我想做的是将一个术语链接到其父术语,如果:
父项存在父名称包含在子术语描述中。例如,“家庭音乐”一词的描述是“乐观的电子音乐”,其中“电子音乐”是父词名称本质上,“电子音乐”实际上是“电子音乐”的超链接。
以下是代码的要点:
function replace_parent_name_with_parent_link() {
...
$link = sprintf( \'<a href="%s">%s</a>\', get_term_link( $parent ), $parent->name );
return str_replace( $parent->name, $link, $intro_text );
}
因此,这段代码在两个几乎相同的地方用作过滤器。问题是,当用作其中一个过滤器而不是另一个过滤器时,不会保留空格。
我想要什么(我在一页中得到什么):
Upbeat <a href="$link">Electronic music</a>.
我不想要的(我在另一页中得到的)。注意“Upbeat”后面缺少空格:
Upbeat<a href="$link">Electronic music</a>.
为什么会这样?当父名称前后都有空格时,它就会这样做。我反复查看了我的代码,但找不到发生这种情况的原因。请帮忙。
注意:我使用trim()尝试了不同的组合,但没有成功。