php – 如何在Woocommerce管理产品列表中添加/删除列

我想在查看产品列表时自定义Woocommerce管理区域中的列.

具体来说,我想删除一些列,并添加几个自定义字段列.

我尝试了在线列出的许多解决方案,我可以删除列并添加新的列,如下所示:

add_filter( 'manage_edit-product_columns', 'show_product_order',15 );
function show_product_order($columns){

   //remove column
   unset( $columns['tags'] );

   //add column
   $columns['offercode'] = __( 'Offer Code'); 

   return $columns;
}

但是,如何使用实际产品数据填充新列(在本例中,称为“offercode”的自定义字段)?

解决方法:

过滤器manage_edit- {post_type} _columns仅用于实际添加列.要控制每个帖子(产品)列中显示的内容,您可以使用manage_ {post_type} _posts_custom_column操作.为每个帖子的每个自定义列调用此操作,它传递两个参数:$column和$postid.

使用此操作非常简单,您可以找到一个示例来显示以下自定义字段“offercode”:

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

function wpso23858236_product_column_offercode( $column, $postid ) {
    if ( $column == 'offercode' ) {
        echo get_post_meta( $postid, 'offercode', true );
    }
}

您还可以使用插件来控制此行为,例如Admin Columns.

上一篇:【PyTorch1.0】torchvision文档翻译(一)


下一篇:php – Laravel如何在查询结果中添加新字段