您的函数将替换内容中出现的每个tag\\u名称。也就是说,它将取代<h2>my-tag</h2>
进入<h2><a href="tag-link">my-tag</a></h2>
.
我假设您手动将标记名添加到内容中。然后我会用标识符添加它们。例如,将标签添加到内容中,如下所示:
这是我的内容,我可以添加转换为如下链接的标记:{tag\\u name}
然后将功能更改为:
/**
* Scan post content and replace {tag_name} with tag link
**/
add_filter( \'the_content\', \'post_content_change_my_tags_into_links\' );
function post_content_change_my_tags_into_links( $content ) {
$tags = get_terms( \'post_tag\' );
if ( $tags ) {
foreach ( $tags as $tag ) {
$change = \'{\'.$tag->name.\'}\';
$into = sprintf( \'<a href="%s">%s</a>\', esc_url( get_term_link( $tag ) ), esc_html( $tag->name ) );
$content = str_replace($change, $into , $content);
}
}
return $content;
}
NOTE 1: 只有连接了帖子的标签才会转换为链接。
NOTE 2: 小心使用短函数名,如link_words()
如果函数位于全局命名空间中(直接在functions.php中)。重复的函数名将导致错误500。