我在Wordpress中有用于标签列表的以下代码:
$tags_list = get_the_tag_list( '', __( '</li><li>', 'wp-theme') );
if ( $tags_list ) {
printf( '' . __( '<ul><li>%1$s</li></ul>', 'wp-theme' ) . '', $tags_list );
}
它变成这个HTML:
<ul>
<li><a href="http://internal-link/tag1/>TAG NAME 1</a></li>
<li><a href="http://internal-link/tag2/>TAG NAME 2</a></li>
</ul>
但是我需要得到这个:
<ul>
<li><a href="http://internal-link/tag1/>TAG NAME 1</a> <a href="https://external-link/?search=TAG+NAME+1">img</a></li>
<li><a href="http://internal-link/tag2/>TAG NAME 2</a> <a href="https://external-link/?search=TAG+NAME+2">img</a></li>
</ul>
我应该如何编辑上面的代码以在每个标签之后添加外部链接,以及如何获得没有其自身链接的标签名称,以便可以将其添加到外部链接?
谢谢!
答案 0 :(得分:0)
代替使用get_the_tag_list()
,您可以手动生成输出:
$terms = get_the_tags();
if ( ! is_wp_error( $terms ) && ! empty( $terms ) ) { // Check if $terms is OK.
echo '<ul>';
foreach ( $terms as $term ) {
$link = get_term_link( $term );
if ( is_wp_error( $link ) ) {
continue;
}
// Here, just change the URL.
$external_link = 'https://external-link/?search=' . $term->name;
echo '<li>' .
'<a href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>' .
' <a href="' . esc_url( $external_link ) . '">' . $term->name . '</a>' .
'</li>';
}
echo '</ul>';
}
这将替换您现有的代码:
$tags_list = get_the_tag_list( '', __( '</li><li>', 'wp-theme' ) );
if ( $tags_list ) {
printf( '' . __( '<ul><li>%1$s</li></ul>', 'wp-theme' ) . '', $tags_list );
}