我想在查看产品列表时自定义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.