WordPress中获取自定义分类法taxonomy下分类项访问URL的方法
你可以使用WordPress内置的get_term_link()函数获取自定义分类法对应分类项的归档页URL,修改后的完整代码如下:
<ul> <?php $taxonomies = get_terms(array( 'taxonomy' => 'leagues', 'orderby' => 'name', 'show_count' => 0, 'pad_counts' => 0, 'hierarchical' => 1, 'hide_empty' => false, // 可选参数,需要展示无内容的分类时保留 )); foreach ($taxonomies as $category) { if ($category->parent == 0) { $cat_id = $category->term_id; // 获取当前分类项的链接 $term_link = get_term_link( $category, 'leagues' ); // 链接获取异常时跳过当前分类,避免页面报错 if ( is_wp_error( $term_link ) ) { continue; } $logos = get_field('logo', 'term_' . $cat_id); //for image return format: Image Array $logo = $logos['sizes']['thumbnail']; //default WP image sizes: thumbnail, medium, large if ($logo) { echo '<li>'; echo '<img src="'; echo esc_url( $logo ); // 新增输出转义,符合安全规范 echo '" class="w-25 mr-4" alt="'. esc_attr( $category->name ) .'">'; // 新增图片alt属性,符合无障碍规范 echo '<a href="'; echo esc_url( $term_link ); // 替换原有的#为真实分类链接 echo '">'; echo esc_html( $category->name ); echo '</a>'; echo '</li>'; } } } ?> </ul>
补充说明:
get_term_link会自动适配你站点的固定链接配置,生成对应分类页的正确URL- 新增的各类转义输出符合WordPress官方编码规范,可避免XSS安全风险
内容的提问来源于stack exchange,提问作者Carina
相关产品推荐
相关产品推荐

