Добавьте класс css в постоянную ссылку таксономии


Мне нужно добавить класс css к каждому элементу <a>, полученному с помощью the_terms() (или аналогичной функции), чтобы открыть постоянную ссылку таксономии в модальном окне fancybox. Весь этот день я искал Фильтр, который мог бы справиться с этим, но безуспешно.

В любом случае, я нашел это (плохое) решение ниже:

$cities = get_the_terms($post->ID, 'cities');           

        foreach ($cities as $city) {
            echo '<a class="fancybox" href="'. get_term_link( $city->slug, 'cities' ).'">'.$city->name. '</a>' ;
        }

Но это слишком "уродливо", чтобы помещать его в файл шаблона.

Существует ли какой-либо фильтр wordpress, который решает этот вопрос о html с постоянной ссылкой поколение?

Большое спасибо!

Author: Susan Siqueira, 2013-02-14

1 answers

Фильтр, который вы ищете, - это term_links-$taxonomy, где $taxonomy - название таксономии. Это отфильтрует массив ссылок $term_links перед выводом с помощью the_terms():

add_filter('term_links-cities', 'ad_filter_links');

function ad_filter_links($term_links) {
    foreach ($term_links as $term_link) {
        $term_link = str_replace('<a ', '<a class="fancybox"', $term_link);
    }
    return $term_links;
}
 3
Author: Ahmad M, 2013-02-14 18:43:09