【问题标题】:Show Woocommerce subcategories on single page by their parents slug or ID按父母 slug 或 ID 在单页上显示 Woocommerce 子类别
【发布时间】:2020-05-26 02:19:34
【问题描述】:

我正在尝试借助类别/子类别将发布者、主题和作者添加到单个产品中。这是经过数小时编码/和复制后的样子(WooCommerce tbh 非常新鲜)

这是我得到的,但它显示了所有子类别,不仅是与产品关联的子类别,这是我正在使用的代码

    function get_product_subcategories_list( $category_slug ){
    $terms_html = array();
    $taxonomy = 'product_cat';
    // Get the product category (parent) WP_Term object
    $parent = get_term_by( 'slug', $category_slug, $taxonomy );
    // Get an array of the subcategories IDs (children IDs)
    $children_ids = get_term_children( $parent->term_id, $taxonomy );

    // Loop through each children IDs
    foreach($children_ids as $children_id){
        $term = get_term( $children_id, $taxonomy ); // WP_Term object
        $term_link = get_term_link( $term, $taxonomy ); // The term link
        if ( is_wp_error( $term_link ) ) $term_link = '';
        // Set in an array the html formated subcategory name/link
        $terms_html[] = '<a href="' . esc_url( $term_link ) . '" rel="tag" class="' . $term->slug . '">' . $term->name . '</a>';
    }
    return '<span class="subcategories-' . $category_slug . '">' . implode( ', ', $terms_html ) . '</span>';
}
    add_action('woocommerce_single_product_summary','monolith_cat_scan', 31);
        function monolith_cat_scan() {
        echo '<p>Topic : ';
            echo get_product_subcategories_list( 'topics' );
        echo '</p>';
        echo '<p>Publisher : ';
              echo get_product_subcategories_list( 'publishers' );
        echo '</p>';
        echo '<p>Author: ';
              echo get_product_subcategories_list( 'authors' );
        echo '</p>';
        }

但是我不能让整个事情像我想要的那样工作并获得单一产品的子类别,在这个例子中只有灵性,SOUNDS TRUE INC(只有出版商中的子猫)和艾伦沃茨应该在那里.

我将不胜感激!

【问题讨论】:

    标签: php woocommerce hook categories woocommerce-theming


    【解决方案1】:

    我得到了一个工作代码(我知道它看起来并不漂亮,但它是我能做的最好的,它可以解决问题。

    add_action('woocommerce_single_product_summary','monolith_cat_scan', 31);
    
    function monolith_cat_scan() {
    
    global $post;
    
    $cats = get_the_terms( $post->ID, 'product_cat' );
    
    if ( ! empty( $cats ) ) {
    
            foreach ( $cats as $term ) {
    
            if( $term->parent == 30 ) { 
          echo '<p>Topic : <a href="' . site_url() . '/product-category/' . $term->slug . '">' . $term->name . '</a>';
       }
    
            }
    
    }
    
    }
    add_action('woocommerce_single_product_summary','monolith_cat_scan2', 32);
    
    function monolith_cat_scan2() {
    
    global $post;
    
    $cats = get_the_terms( $post->ID, 'product_cat' );
    
    if ( ! empty( $cats ) ) {
    
            foreach ( $cats as $term ) {
    
            if( $term->parent == 31 ) { 
          echo '<p>Author : <a href="' . site_url() . '/product-category/' . $term->slug . '">' . $term->name . '</a>';
       }
    
            }
    
    }
    
    }
    
    add_action('woocommerce_single_product_summary','monolith_cat_scan3', 33);
    
    function monolith_cat_scan3() {
    
    global $post;
    
    $cats = get_the_terms( $post->ID, 'product_cat' );
    
    if ( ! empty( $cats ) ) {
    
            foreach ( $cats as $term ) {
    
       // If parent cat ID = 116 echo subcat name...
            if( $term->parent == 32 ) { 
          echo '<p>Publisher : <a href="' . site_url() . '/product-category/' . $term->slug . '">' . $term->name . '</a>';
       }
    
            }
    
    }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2018-12-07
      • 2021-08-16
      • 2013-03-10
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多