簡體   English   中英

將自定義列產品可見性添加到 Woocommerce 3 中的管理產品列表

[英]Add custom column product visibility to admin product list in Woocommerce 3

我正在嘗試使用產品的目錄可見性值將自定義列添加到管理產品列表(基本上,我需要更容易地知道哪些是隱藏的,哪些不是)。

到目前為止,我的子主題的functions.php 代碼:

add_filter( 'manage_edit-product_columns', 'custom_product_column', 10);
function custom_product_column($columns){


 $columns['visibility'] = __( 'Visibility','woocommerce');
 return $columns;
}

    add_action( 'manage_product_posts_custom_column', 'custom_column_content', 10, 2 );

    function custom_product_list_column_content( $column, $product_id ){

    global $post;

$isitvisible = get_post_meta( $product_id, 'product_visibility', true );

switch ( $column ){

    case 'visibility' :
        echo $isitvisible;
        break;
  }
}

有人可以指導我嗎? 該列已創建(並顯示標題),但我沒有獲得產品的數據。

您的代碼中存在一些錯誤和錯誤。 此外,Woocommerce 3產品可視性由Woocommerce自定義分類'product_visibility' 請嘗試以下方法:

// Add a new column to Admin products list with a custom order
add_filter( 'manage_edit-product_columns', 'visibility_product_column', 10);
function visibility_product_column($columns){
    $new_columns = [];
    foreach( $columns as $key => $column ){
        $new_columns[$key] = $columns[$key];
        if( $key == 'price' ) { // Or use: if( $key == 'featured' ) {
             $new_columns['visibility'] = __( 'Visibility','woocommerce');
        }
    }
    return $new_columns;
}

// Add content to new column raows in Admin products list
add_action( 'manage_product_posts_custom_column', 'visibility_product_column_content', 10, 2 );
function visibility_product_column_content( $column, $product_id ){
    global $post;

    if( $column =='visibility' ){
        if( has_term( 'exclude-from-catalog', 'product_visibility', $product_id ) )
            echo '<em style="color:grey;">' . __("No") . '</em>';
        else
            echo '<span style="color:green;">' . __("Yes") . '</span>';
    }
}

代碼位於活動子主題(活動主題)的function.php文件中。 經過測試和工作。

在此輸入圖像描述

Woocommerce 還允許您隱藏缺貨的產品。 我需要知道哪些被排除在目錄之外,哪些因為缺貨而被隱藏。 上面代碼的這個小更新使用一個數組來查找我需要知道的所有隱藏條件:

// Add content to new column rows in Admin products list
    add_action( 'manage_product_posts_custom_column',  'visibility_product_column_content', 10, 2 );
    function visibility_product_column_content( $column, $product_id ){
        global $post;
    
        if( $column =='visibility' ){
            if( has_term( array('exclude-from-catalog', 'outofstock'),'product_visibility', $product_id ) )
                echo '<em style="color:grey;">' . __("No") . '</em>';
                   else
              echo '<span style="color:green;">' . __("Yes") . '</span>';
        }
    }



 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM