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

标签 php wordpress woocommerce product backend

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

相关文章:

php - 如何在 WooCommerce 中自动更新特定订单 ID 的订单状态

php - WooCommerce:在结帐、我的帐户、管理订单和 WordPress 用户中添加出生日期计费字段

javascript - 使用ajax将数据发送到php页面并获取响应并显示在字段中

php - 将仅包含数字的字符串转换为 INT

php - Wordpress 中的标签颜色不同?

html - 链接不适用于 Logo

javascript - 在php中获取特定数组字段长度

php - 如何去除表头<the>缝隙

wordpress - github上的公共(public)密码

wordpress - 根据特定类别 woocommerce 获取最小价格变化和最大价格变化