programing

woocommerce orders.php 열을 수정합니다.

goodsources 2023. 3. 27. 21:13
반응형

woocommerce orders.php 열을 수정합니다.

Woocommerce orders.php 테이블의 열을 수정하려고 합니다.TOTAL 컬럼과 DATE 컬럼을 삭제하고 저희 스토어 고유의 커스텀 정보를 포함한 새로운 컬럼을 추가하고 싶습니다.

다음 기능은 이전에는 기능했지만 Woocommerce 2.6 이후 폐지되었습니다.2.6 이후에 이 테이블에 열을 삭제/추가하는 방법을 아는 사람이 있습니까?

function wc_get_account_orders_columns() {
  $columns = apply_filters( 'woocommerce_account_orders_columns', array(
    'order-number'  => __( 'Order', 'woocommerce' ),
    'order-date'    => __( 'Date', 'woocommerce' ),
    'order-status'  => __( 'Status', 'woocommerce' ),
    'order-total'   => __( 'Total', 'woocommerce' ),
    'order-actions' => ' ',
  ) );

  // Deprecated filter since 2.6.0.
  return apply_filters( 'woocommerce_my_account_my_orders_columns', $columns );
}

내 친구가 이걸 도와줬어.이 기능은 다른 사람이 유용하다고 생각할 경우에 사용할 수 있습니다.

function new_orders_columns( $columns = array() ) {

    // Hide the columns
    if( isset($columns['order-total']) ) {
        // Unsets the columns which you want to hide
        unset( $columns['order-number'] );
        unset( $columns['order-date'] );
        unset( $columns['order-status'] );
        unset( $columns['order-total'] );
        unset( $columns['order-actions'] );
    }

    // Add new columns
    $columns['order-number'] = __( 'Reserva', 'Text Domain' );
    $columns['reservation-date'] = __( 'Para el día', 'Text Domain' );
    $columns['reservation-people'] = __( 'Seréis', 'Text Domain' );
    $columns['order-status'] = __( 'Estado de la reserva', 'Text Domain' );
    $columns['order-actions'] = __( ' ', 'Text Domain' );

    return $columns;
}
add_filter( 'woocommerce_account_orders_columns', 'new_orders_columns' );

기존 컬럼 사이에 컬럼의 순서를 변경하거나 새로운 컬럼을 삽입하는 경우를 제외하고 모든 컬럼의 설정을 해제한 후 다시 설정할 필요는 없습니다.

다른 답변에서는 컬럼에 커스텀 정보를 입력하는 방법에 대해서는 언급하지 않습니다.따라서 완전한 알고리즘은 다음과 같습니다.

순서 1. 추가 또는 삭제

add_filter( 'manage_edit-shop_order_columns','your_function_name');
function your_function_name($columns)
{
    // to remove just use unset
    unset($columns['order_total']); // remove Total column
    unset($columns['order_date']); // remove Date column

    // now it is time to add a custom one
    $columns['custom_column'] = "Column title";

    return $columns;    
}

2단계. 데이터로 채우기

add_action( 'manage_shop_order_posts_custom_column' , 'your_function_name2' );
function your_function_name2( $column ) {
    global $the_order; // you can use the global WP_Order object here
    // global $post; // is also available here

    if( $column == 'custom_column' ) {

        // do stuff, ex: get_post_meta( $post->ID, 'key', true );

    }

}

자세한 는 이 튜토리얼에서도 확인할 수 있습니다.

이게 도움이 될 거야

add_filter( 'manage_edit-shop_order_columns','your_function_name',10 );
function your_function_name($columns)
{
    unset($columns['order_total']);
    unset($columns['order_date']);
    return $columns;    
}

언급URL : https://stackoverflow.com/questions/40092967/modify-woocommerce-orders-php-columns

반응형