get_terms() duplicate first term of a custom taxonomy

I have created a function to display my custom taxonomy (‘market’) terms. But the problem is that this outputs the first taxonomy term twice.
Here is my function:

    function related_markets()
    {
        if ('news' === get_post_type()) {
            $terms = get_terms(array(
                'taxonomy' => 'market',
                'hide_empty' => false,
            ));
            foreach ($terms as $term) {
                $term_list .= '<a class="related-market btn btn-outline-secondary" href="' . esc_url(get_term_link($term)) . '">' . $term->name . '</a>';
                echo $term_list;
            }
        } elseif ('analysis' === get_post_type()) {
            $terms = get_terms(array(
                'taxonomy' => 'market',
                'hide_empty' => false,
            ));
            foreach ($terms as $term) {
                $term_list .= '<a class="related-market btn btn-outline-secondary" href="' . esc_url(get_term_link($term)) . '">' . $term->name . '</a>';
                echo $term_list;
            }
        }
    }
endif;

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

I think you want to show list of the category links right?
but you are echo list inside the for-each loop. you have to write that outside of the loop.

foreach ($terms as $term) {
            $term_list .= '<a class="related-market btn btn-outline-secondary" href="' . esc_url(get_term_link($term)) . '">' . $term->name . '</a>';
        }
        echo $term_list;

Also don’t forgot to initialize “$term_list” first in the function.
🙂


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x