我需要在几个常规页面上显示不同的产品类别,但找不到适合的简短代码。
我必须使用哪个短代码在任何页面上仅显示单个产品类别(不显示该类别中的任何产品)?
感谢您的帮助。
答案 0 :(得分:2)
我认为您要问的是从产品类别获取链接以显示链接的产品类别名称。为此,您可以构建自定义的简码:
add_shortcode('linked_pcat', 'display_a_linked_product_category');
function display_a_linked_product_category( $atts ) {
$atts = shortcode_atts( array(
'term' => '',
), $atts, 'linked_pcat' );
$taxomomy = 'product_cat';
$value = $atts['term'];
if( is_numeric( $value ) || (string) (int) $value == $value ) {
$field = 'term_id';
$value = (int) $atts['term'];
} else {
$field = 'slug';
$value = sanitize_title( $atts['term'] );
}
if( term_exists( $value, $taxomomy ) ) {
$term = get_term_by( $field, $value, $taxomomy );
$term_link = get_term_link( $term, $taxomomy );
return '<a href="' . $term_link . '">' . $term->name . '</a>';
}
return false;
}
代码进入活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
用法:
注意: 对于产品类别,术语可以使用术语名称,术语段或术语ID…
1)在Wordpress文本编辑器(以术语名称为例)中:
[linked_pcat term='Clothing']
2)内部php代码(例如,带有词条):
echo do_shortcode( "[linked_pcat term='t-shirts']" );
3)在html代码之间的php文件中(例如,带有术语ID):
<?php echo do_shortcode( "[linked_pcat term='t-shirts']" ); ?>