我需要在每个<a>
元素检索者the_terms()
(或类似函数),以便在fancybox模式窗口中打开分类permalink。我整个下午都在寻找一个可以处理它的过滤器,但没有成功。
无论如何,我得到了下面这个(糟糕的)解决方案:
$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生成的问题?
非常感谢!
最合适的回答,由SO网友:Ahmad M 整理而成
您要查找的筛选器是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;
}