如何获取WooCommerce产品分类URL并在HTML Meta标签中展示?
解决WooCommerce产品分类归档页面Meta标签获取分类URL的问题
你的代码存在三个核心问题导致输出为空:
- 未正确初始化当前产品分类对象,直接使用
$category会导致变量未定义 get_category_link()仅适用于WordPress默认文章分类,WooCommerce产品分类属于自定义分类product_cat,该函数不适用- 最后echo的是分类对象而非获取到的链接变量
修正后的代码如下:
<meta name="twitter:url" content="<?php if ( is_product_category() ) { // 获取当前产品分类对象 $current_cat = get_queried_object(); // 获取产品分类的URL $cat_link = get_term_link( $current_cat ); // 输出转义后的安全链接 echo esc_url( $cat_link ); } else { // 单个产品页面输出转义后的固定链接 echo esc_url( get_permalink() ); } ?>" />
关键说明:
get_queried_object():在产品分类归档页面会自动返回当前的产品分类术语对象get_term_link():专门用于获取自定义分类(含WooCommerce产品分类)的链接,兼容性更强esc_url():对URL进行安全转义,避免潜在的XSS风险,符合WordPress开发规范
内容的提问来源于stack exchange,提问作者Eduardo Relax
相关产品推荐
相关产品推荐

