WooCommerce产品分类页面如何获取当前页面permalink?
解决WooCommerce产品分类页面获取当前页面Permalink的问题
在WooCommerce产品归档/分类页面中,直接使用get_permalink()会返回首个产品链接,原因是该函数默认获取当前循环中WP_Post对象(即产品)的链接,而非分类页面本身的链接。
以下是两种可靠的解决方法:
方法一:使用get_term_link() + get_queried_object()
这是最直接的方式,通过获取当前被查询的分类对象,再生成其 permalink:
// 获取当前产品分类的对象 $current_product_cat = get_queried_object(); // 输出分类页面的永久链接 echo get_term_link( $current_product_cat );
也可以简化为一行代码:
echo get_term_link( get_queried_object() );
方法二:利用全局$wp_query对象
通过全局查询对象获取当前分类的ID,再生成链接:
global $wp_query; // 从查询对象中提取当前分类ID $cat_id = $wp_query->get_queried_object_id(); // 输出分类页面链接 echo get_term_link( $cat_id, 'product_cat' );
注意事项
- 确保代码执行上下文处于产品分类页面的主查询中,避免在自定义循环或其他查询内调用导致结果异常。
get_term_link()会自动处理分类的永久链接结构,无需手动拼接URL。
内容的提问来源于stack exchange,提问作者sevenkader
相关产品推荐
相关产品推荐

