簡體   English   中英

WooCommerce - 將列添加到Product Cat管理表

[英]WooCommerce - add column to Product Cat admin table

我想在產品類別的后端表中添加一個新列。 此列將包含“視圖類別”鏈接,並將所有鏈接到www.domain.com/category/category-name頁面。

我查看了Wordpress文檔,這是我提出的代碼......但它不起作用!

function product_cat_cpt_columns($columns) {
    $new_columns = array(
        'Link' => "Link to page"
    );
    return array_merge($columns, $new_columns);
}
add_filter('manage_product_cat_posts_custom_columns' , 'product_cat_cpt_columns');

知道怎么做嗎? 我真的很感謝你的幫助!

從此答案中提取您可以使用以下代碼將列添加到“編輯標簽”屏幕:

function add_post_tag_columns($columns){
    $columns['foo'] = 'Foo';
    return $columns;
}
add_filter('manage_edit-product_cat_columns', 'add_post_tag_columns');

function add_post_tag_column_content($content){
    $content .= 'Bar';
    return $content;
}
add_filter('manage_product_cat_custom_column', 'add_post_tag_column_content');

我發現很難找到解決這個微不足道任務的辦法,我非常感謝Helgatheviking的回答,它指出了我正確的方向。 她的回答對我而言並不奏效,因為它對所有列值只允許使用相同的值,因此我決定在此處發布改進的版本。

問題在於第二個函數,因為它沒有提供添加與當前類別相對應的字段值的方法。 我瀏覽了Woocommerce的源代碼 (可以在其中搜索“ product_cat_column”以遍歷相關部分並查看其制作過程),發現此過濾器接受3個參數,而不是1。這允許每行指定一個值,而不是所有行的值都相同,就像Helgatheviking的答案一樣。

另一個缺點是它會將值放到縮略圖列上,因為這就是Woocommerce實際使用此過濾器的內容。

所以這是我的代碼:

function add_custom_column($columns) { 
    $columns['foo'] = 'FOO';
    $columns['link'] = 'Link to page';

    return $columns; 
} 
add_filter('manage_edit-product_cat_columns', 'add_custom_column'); 

function category_custom_column_value( $columns, $column, $term_id ) { 
    if ($column == 'FOO') {
        $foo = get_term_meta( $term_id, 'foo', true );
        return $foo;
    }elseif ($column == 'link') {
        $category = get_term_by( 'id', $term_id, 'product_cat' );
        $category_link = get_term_link( $category->slug, 'product_cat' );
        return '<a href="' . $category_link . '" target="_blank">' . $category_link . '</a>';
    }
}
add_filter('manage_product_cat_custom_column', 'category_custom_column_value', 10, 3);

如您所見,第一個函數保持不變,但第二個函數現在檢查列名並根據此名稱返回內容。 您可以通過這種方式獲取任何類別的元數據,並根據需要對任意多的列進行處理。

暫無
暫無

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

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