2015-01-02 139 views
0

我最近一直在與Rohil_PHPBeginner一起工作,他一直非常出色,解決了我遇到的一個大問題。Woocommerce從產品頁面中刪除類別

我現在需要從woo商務產品頁面上的類別列表中刪除特定的類別。

例子:https://www.artgiftedbygod.co.uk/online-art-shop/jane-brighton/dawn-2/

你會看到標題,藝術家名稱(Rohil_PHPBeginner)解決,價格,描述,供貨情況,購買按鈕,然後類別。

我想顯示除了藝術家名稱以外的所有類別,因爲它現在顯示在其自己的部分下。

這是一個PHP頁面上找到的代碼:

<?php 
/** 
* Single Product Meta 
* 
* @author  WooThemes 
* @package WooCommerce/Templates 
* @version  1.6.4 
*/ 

if (! defined('ABSPATH')) exit; // Exit if accessed directly 

global $post, $product; 

$cat_count = sizeof(get_the_terms($post->ID, 'product_cat')); 
$tag_count = sizeof(get_the_terms($post->ID, 'product_tag')); 
?> 
<div class="product_meta"> 

<?php do_action('woocommerce_product_meta_start'); ?> 

<?php if (wc_product_sku_enabled() && ($product->get_sku() || $product->is_type('variable')))   : ?> 

    <span class="sku_wrapper"><?php _e('SKU:', 'woocommerce'); ?> <span class="sku"  itemprop="sku"><?php echo ($sku = $product->get_sku()) ? $sku : __('N/A', 'woocommerce'); ?></span>. </span> 

<?php endif; ?> 

<?php echo $product->get_categories(', ', '<span class="posted_in">' . _n('Category:', 'Categories:', $cat_count, 'woocommerce') . ' ', '.</span>'); ?> 

<?php echo $product->get_tags(', ', '<span class="tagged_as">' . _n('Tag:', 'Tags:', $tag_count, 'woocommerce') . ' ', '.</span>'); ?> 

<?php do_action('woocommerce_product_meta_end'); ?> 

`

回答

2

試試這個:

<?php 
    /** 
    * Single Product Meta 
    * 
    * @author  WooThemes 
    * @package  WooCommerce/Templates 
    * @version  1.6.4 
    */ 

    if (! defined('ABSPATH')) exit; // Exit if accessed directly 

    global $post, $product; 

    $cat_count = sizeof(get_the_terms($post->ID, 'product_cat')); 
    $tag_count = sizeof(get_the_terms($post->ID, 'product_tag')); 
    ?> 
    <div class="product_meta"> 

     <?php do_action('woocommerce_product_meta_start'); ?> 

     <?php if (wc_product_sku_enabled() && ($product->get_sku() || $product->is_type('variable'))) : ?> 

      <span class="sku_wrapper"><?php _e('SKU:', 'woocommerce'); ?> <span class="sku" itemprop="sku"><?php echo ($sku = $product->get_sku()) ? $sku : __('N/A', 'woocommerce'); ?></span>.</span> 

     <?php endif; ?> 

     <?php 

       $cat_array = array(); 
       $term_list = wp_get_post_terms($post->ID, 'product_cat', array("fields" => "all")); //get array containing category details 

       foreach($term_list as $cat_list) 
       { 

        array_push($cat_array, $cat_list->term_id); 

       } 

       $cat_id = ($term_list[0]->parent); //get parent category ID from the above generated array 

       $termchildren = get_term_children('90' , 'product_cat'); //New Line in Updattion -1 

       $final_result = array_diff($cat_array,$termchildren); 
       $new_ary = array_values($final_result); 
       $final_result_size = sizeof($new_ary); 
       $i=0;$j=0; 
       for($i=0;$i<$final_result_size;$i++){ 

         $new_cat_id = $new_ary[$i]; 

         $cat_url = get_term_link ($new_cat_id, 'product_cat'); //get link of parent ID 

         $term = get_term($new_cat_id, 'product_cat'); //Get Name of the parent from the parent ID 

         $name = $term->name; //Store it into an varialbe 


         if($j == 0): 
          echo "Categories: "; 
         endif; 
         echo "<a href='".esc_url($cat_url)."'>".$name."</a>"; 
         if($i == ($final_result_size-1)): 
          echo ""; 
         else: 
          echo ", "; 
         endif; 
         $j++; 
       } 

     ?> 

     <?php echo $product->get_tags(', ', '<span class="tagged_as">' . _n('Tag:', 'Tags:', $tag_count, 'woocommerce') . ' ', '.</span>'); ?> 

     <?php do_action('woocommerce_product_meta_end'); ?> 

    </div> 
+0

輝煌。這工作。謝謝你的幫助 – user3816812

+0

哈哈!我認爲你需要記下我的郵件ID;) –

+0

我會哈哈,再次感謝 – user3816812

相關問題