Добавление внешних ссылок в список тэгов Wordpress и получение названий тэгов без собственных ссылок - PullRequest
0 голосов
/ 26 января 2019

У меня есть этот код для списка тегов в 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>

Как мне отредактировать приведенный выше код, чтобы добавить внешнюю ссылку после каждого тега, и как получить имя тега без собственной ссылки, чтобы я мог добавить его к внешней ссылке?

Спасибо!

1 Ответ

0 голосов
/ 28 января 2019

Вместо использования 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 );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...