Добавьте новый столбец с именем автора в список купонов администратора WooCommerce

#php #wordpress #woocommerce #backend #coupon

#php #wordpress #woocommerce #серверная часть #купон

Вопрос:

Вчера у нас была ситуация, когда кто-то спросил меня: «Кто создал этот купон?». К сожалению, 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>';    
    }
}
 

К сожалению, без желаемого результата, есть ли кто-нибудь, кто может направить меня на правильный путь?

Ответ №1:

Это добавит новый столбец в список купонов с именем автора, объяснение с помощью тегов комментариев, добавленных в код.

 // 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 );