网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

在Wordpress标签列表中添加外部链接,并获取没有自己链接的标签名称

GG网络技术分享 2025-03-18 16:12 9


问题描述:

I have this code for the tag list in 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 );

}

It becomes this 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>

But I need to get this:

<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>

How should I edit the code above to add the external link after each tag and how do I get the tag name without its own link, so I can add it to the external link?

Thank you!

网友观点:

Instead of using get_the_tag_list(), you can manually generate the output:

$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>\';

}

And that would replace your existing code:

$tags_list = get_the_tag_list( \'\', __( \'</li><li>\', \'wp-theme\' ) );

if ( $tags_list ) {

printf( \'\' . __( \'<ul><li>%1$s</li></ul>\', \'wp-theme\' ) . \'\', $tags_list );

}

标签:

提交需求或反馈

Demand feedback