php - 将自定义列添加到 WooCommerce 管理优惠券列表

标签 php wordpress woocommerce backend coupon

昨天我们遇到了这样的情况,有人问我“谁创建了这张优惠券?”。不幸的是,WooCommerce 默认情况下不会在列出所有优惠券的优惠券概述中显示优惠券的创建者。

我试图找出的是,如何在 WooCommerce > 营销 > 优惠券概述中添加包含作者姓名的新列。

这是我到目前为止所拥有的:

function display_coupon_creator() {

    foreach( $coupons as $coupon ){

        // Get coupon creator
        $coupon_creator_id = get_post_field('post_author', $post_id);
        $creator_name = get_the_author_meta( 'display_name', $coupon_creator_id );

        echo $creator_name . '<br>';    
    }
}

不幸的是没有达到预期的结果,有没有人可以让我走上正轨?

最佳答案

这将在优惠券列表中添加一个新列,其中包含作者姓名, 通过添加到代码中的注释标签进行解释。

// Add a Header
function filter_manage_edit_shop_coupon_columns( $columns ) {   
    // Add new column
    $columns['coupon_author'] = __( 'Author', 'woocommerce' );

    return $columns;
}
add_filter( 'manage_edit-shop_coupon_columns', 'filter_manage_edit_shop_coupon_columns', 10, 1 );

// Populate the Column
function action_manage_shop_coupon_posts_custom_column( $column, $post_id ) {
    // Compare
    if ( $column == 'coupon_author' ) {
        // Author ID
        $author_id = get_post_field ( 'post_author', $post_id );
        
        // Display name
        $display_name = get_the_author_meta( 'display_name' , $author_id );
        
        // NOT empty
        if ( ! empty ( $display_name ) ) {
            echo $display_name;         
        }
    }
}
add_action( 'manage_shop_coupon_posts_custom_column' , 'action_manage_shop_coupon_posts_custom_column', 10, 2 );

关于php - 将自定义列添加到 WooCommerce 管理优惠券列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65653372/

相关文章:

javascript - 离线使用谷歌地球(或 map )

css - 将 Bootstrap 表单控件类添加到 woocommerce 地址字段

wordpress - 检查第一次登录wordpress

php - 防止在 Woocommerce 谢谢钩子(Hook)中多次处理数据

php - 使用 Retrofit 2 将 Pdf 上传到服务器

php - MySQL 计算所有 child ,不管有多少

javascript - 检测手机或平板设备

php - 在 WooCommerce 中显示完整的国家名称而不是国家代码?

php - WooCommerce:从订阅订单中获取名称和变体

php - 用 MySqlI 查询的结果填充 PHP 数组