我想在查看产品列表时自定义 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 .
关于php - 如何在 Woocommerce 管理产品列表中添加/删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23858236/