在 WooCommerce 商店页面上显示自定义分类术语
Display custom taxonomy terms on WooCommerce shop page
我正在研究如何在 WooCommerce 商店循环中显示自定义分类法。
我找到了 ,它为我指明了正确的方向。我已将该答案的代码修改为以下内容:
add_action( 'woocommerce_after_shop_loop_item_title', 'action_product_meta_end' );
function action_product_meta_end() {
global $product;
$taxonomy = 'keyfeatures'; // <== Here set your custom taxonomy
if( ! is_taxonomy( $taxonomy ) )
return; // exit
$term_ids = wp_get_post_terms( $product->get_id(), $taxonomy, array('fields' => 'ids') );
if ( ! empty($term_ids) ) {
echo get_the_term_list( $product->get_id(), 'keyfeatures', '<br /><span class="posted_in">' . _n( 'Key Feature:', 'Key Features:', count( $term_ids ), 'woocommerce' ) . ' ', ', ', '</span>' );
}
}
我卡住的部分是这一行:
echo get_the_term_list( $product->get_id(), 'keyfeatures', '<br /><span class="posted_in">' . _n( 'Feature:', 'Features:', count( $term_ids ), 'woocommerce' ) . ' ', ', ', '</span>' );
我将 Vendor
和 Vendors
(分类名称)更改为 Feature
和 Features
。但实际上我想完全删除它。
我想按以下格式输出自定义分类术语:
Term1 | Term2 | Term3
上面的行将它们输出为:
Features: Term1, Term2, Term3
我还需要在输出周围添加一个 <span></span>
,这样我就可以使用 CSS.
设置样式
我要进行哪些更改才能获得所需的输出? (只是分类术语,用竖线 |
分隔,没有别的?
###更新
在评论中,swadhwa 建议我查看 this page,这正是我需要查看的内容。
根据该页面上的信息,我将我的(输出)代码行更改为:
echo get_the_term_list( $product->get_id(), 'keyfeatures', '<span class="mks_prod_keyfeatures">', ' | ', '</span>' );
然而,奇怪的是,Wordpress 的输出将 <span class="mks_prod_keyfeatures"'></span>
放入我的分类输出上方的 <a ...></a>
中。所以我还必须将 WC 挂钩从 woocommerce_after_shop_loop_item_title
更改为 woocommerce_after_shop_loop_item
。这给出了预期的结果。
你希望你的输出是这样的:
Term1 | Term2 | Term3
那么这应该有所帮助:
get_the_term_list( $product->get_id(), 'keyfeatures', '<span class="posted_in">', '|', '</span>' )
其中第三个参数是前面的内容,第四个是分隔符,第五个是后面的内容。
我正在研究如何在 WooCommerce 商店循环中显示自定义分类法。
我找到了
add_action( 'woocommerce_after_shop_loop_item_title', 'action_product_meta_end' );
function action_product_meta_end() {
global $product;
$taxonomy = 'keyfeatures'; // <== Here set your custom taxonomy
if( ! is_taxonomy( $taxonomy ) )
return; // exit
$term_ids = wp_get_post_terms( $product->get_id(), $taxonomy, array('fields' => 'ids') );
if ( ! empty($term_ids) ) {
echo get_the_term_list( $product->get_id(), 'keyfeatures', '<br /><span class="posted_in">' . _n( 'Key Feature:', 'Key Features:', count( $term_ids ), 'woocommerce' ) . ' ', ', ', '</span>' );
}
}
我卡住的部分是这一行:
echo get_the_term_list( $product->get_id(), 'keyfeatures', '<br /><span class="posted_in">' . _n( 'Feature:', 'Features:', count( $term_ids ), 'woocommerce' ) . ' ', ', ', '</span>' );
我将 Vendor
和 Vendors
(分类名称)更改为 Feature
和 Features
。但实际上我想完全删除它。
我想按以下格式输出自定义分类术语:
Term1 | Term2 | Term3
上面的行将它们输出为:
Features: Term1, Term2, Term3
我还需要在输出周围添加一个 <span></span>
,这样我就可以使用 CSS.
我要进行哪些更改才能获得所需的输出? (只是分类术语,用竖线 |
分隔,没有别的?
###更新 在评论中,swadhwa 建议我查看 this page,这正是我需要查看的内容。
根据该页面上的信息,我将我的(输出)代码行更改为:
echo get_the_term_list( $product->get_id(), 'keyfeatures', '<span class="mks_prod_keyfeatures">', ' | ', '</span>' );
然而,奇怪的是,Wordpress 的输出将 <span class="mks_prod_keyfeatures"'></span>
放入我的分类输出上方的 <a ...></a>
中。所以我还必须将 WC 挂钩从 woocommerce_after_shop_loop_item_title
更改为 woocommerce_after_shop_loop_item
。这给出了预期的结果。
你希望你的输出是这样的:
Term1 | Term2 | Term3
那么这应该有所帮助:
get_the_term_list( $product->get_id(), 'keyfeatures', '<span class="posted_in">', '|', '</span>' )
其中第三个参数是前面的内容,第四个是分隔符,第五个是后面的内容。