显示WooCommerce产品中“相关类别”的链接

时间:2018-09-26 10:14:54

标签: php wordpress woocommerce product categories

我希望在产品信息中显示相关类别-类似于相关产品的显示方式,但显示的是类别存档的链接,而不是单个产品。

例如,在洗涤槽产品上,相关类别将为“拍子”和“镜子”,并将在产品页面上显示指向这些链接。

这可能吗?我看过很多扩展相关产品部分的插件,但是它们仅添加了显示不同类别产品的功能,而不是类别页面本身。

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。我在POD中创建了一个关系字段以将产品链接到product_cat,然后创建了此代码以使用简码显示相关类别。

    function gr_related_categories(){
    //get Pods object for current post
    $pod = pods( 'product', get_the_id() );

//get the value for the relationship field
$related = $pod->field( 'related_categories' );

if ( ! empty( $related ) ) {
    $rows.='<div style=" display: grid; grid-gap: 5px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-template-rows: repeat(3, 350px);">';
    foreach ( $related as $rel ) { 
        $id = $rel[ 'term_id' ];
        $term=get_term($id, 'product_cat');

        $name = $rel['name'];
        $slug = $rel['slug'];
        $thumbnail_id = get_term_meta( $id, 'thumbnail_id', true );
        $image=wp_get_attachment_image($thumbnail_id, 'full');
        $url=get_term_link($term);

        $rows.= ' <div style="width:250px; height:350px; margin: 20px auto; border:solid 2px #5500B5; text-align:center; "><a href="'.$url.'" target="_blank">'.$image.'<br>'.$name.'</a></div>';
    } //end of foreach
    $rows.= '</div>';

} //endif ! empty ( $related );
return $rows;
}

add_shortcode('gr_related_categories', 'gr_related_categories');