从woocommerce产品页面中删除列

时间:2014-02-27 14:27:47

标签: wordpress woocommerce

您好我正在尝试限制某些用户在wordpress管理页面的woocommerce中查看产品列表时的选项。

if( current_user_can('vendor') ) {
function my_columns_filter( $columns ) {

    unset($columns['tags']);
    unset($columns['featured']);
    unset($columns['type']);
    return $columns;
}
}
add_filter( 'manage_edit-product_columns', 'my_columns_filter', 10, 1 );

非常感谢任何帮助或指导。

2 个答案:

答案 0 :(得分:2)

你做错了。

if/else放在函数内部而不是包装函数。

function my_columns_filter( $columns ) {
    if( current_user_can('vendor') ) {
        unset($columns['tags']);
        unset($columns['featured']);
        unset($columns['type']);

        return $columns;
    }
}
add_filter( 'manage_edit-product_columns', 'my_columns_filter', 10, 1 );

答案 1 :(得分:0)

您没有使用正确的列名,或者自从您发布问题以来,WC已经更改了它们。如果WC确实更改了列名,最好在删除列之前检查列是否仍然存在。

这是一个面向未来的解决方案,您可以在主题的函数中使用.php:

function my_product_columns_filter( $columns ) {
    if ( current_user_can( 'vendor' ) ) {
        foreach ( array( 'product_tag', 'featured', 'product_type' ) as $name ) {
            if ( isset( $columns[ $name ] ) ) {
                unset( $columns[ $name ] );
            }
        }
    }

    return $columns;
}

add_filter( 'manage_edit-product_columns', 'my_product_columns_filter' );

无编码解决方案

如果您只是在寻找快速解决方案而无需编码,则可以使用wordpress.org中的免费admin columns plugin,这样您只需点击几下即可添加和删除列。< / p>