Woocommerce 관리 제품 목록에서 열을 추가/제거하는 방법
제품 목록을 볼 때 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;
}
그러나 새로운 컬럼에 실제 제품 데이터를 입력하려면 어떻게 해야 합니까(이 경우 '오퍼코드'라고 하는 커스텀필드).
필터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 );
}
}
플러그인을 사용하여 관리 열과 같은 동작을 제어할 수도 있습니다.
이 테이블 보기는 많은 플러그인과 워드프레스 자체에서 사용됩니다.열 이름을 확인해야 합니다.$columns['tags']는 Woocommerce가 아닌 Wordpress Post View의 태그입니다!
다음은 Woocommerce가 사용하는 몇 가지 $column 목록입니다.
$columns['cb']
$columns['thumb']
$columns['name']
$columns['sku']
$columns['is_in_stock']
$columns['price']
$columns['product_cat']
$columns['product_tag']
$columns['featured']
$columns['product_type']
$columns['date']
이러한 제거를 적용하기 위한 올바른 필터입니다.
add_filter( 'manage_edit-product_columns', 'change_columns_filter',10, 1 );
function change_columns_filter( $columns ) {
unset($columns['product_tag']);
unset($columns['sku']);
unset($columns['featured']);
unset($columns['product_type']);
return $columns;
}
특정 순서로 삽입하려는 경우 바로 뒤에 열을 추가하는 방법은 다음과 같습니다.Price
:
add_filter( 'manage_edit-product_columns', 'wootix_show_product_order', 15 ) ;
function wootix_show_product_order( $columns )
{
//add column
$arr = array( 'wootix_credit' => __( 'Credits', 'wootix' ) ) ;
array_splice( $columns, 6, 0, $arr ) ;
return $columns ;
}
컬럼을 추가로 정렬하고 싶은 경우(상기와 같이 컬럼은 끝에 부가됩니다), "manage_edit-product_columns" 후크에서 이와 같은 작업을 수행할 수 있습니다(예: 구현한 클래스에서 가져온 것입니다).
const BACKEND_PRODUCT_GRID_FIELD_SORTORDER = [
'cb',
'thumb',
'name',
'pa_size_text',
'sku',
'is_in_stock',
'price',
'product_cat',
'product_tag',
'featured',
'product_type',
'date',
'stats',
'likes'
];
/**
* Registers new columns for the backend products grid of Woocommerce.
* Additionally it sorts the fields after
* self::BACKEND_PRODUCT_GRID_FIELD_SORTORDER. Fields not included in
* self::BACKEND_PRODUCT_GRID_FIELD_SORTORDER will be attached to the end of
* the array.
*
* @param array $aColumns - the current Woocommerce backend grid columns
*
* @return array - the extended backend grid columns array
*/
public function add_columns_to_product_grid( $aColumns ) {
$aColumns['pa_size_text'] = __( 'Unit size', 'intolife_misc' );
#unset($aColumns['thumb']);
$aReturn = [];
foreach ( self::BACKEND_PRODUCT_GRID_FIELD_SORTORDER as $sKey ) {
if ( isset( $aColumns[ $sKey ] ) ) {
$aReturn[ $sKey ] = $aColumns[ $sKey ];
}
}
/**
* search additional unknown fields and attache them to the end
*/
foreach ( $aColumns as $sKey => $sField ) {
if ( ! isset( $aReturn[ $sKey ] ) ) {
$aReturn[ $sKey ] = $sField;
}
}
return $aReturn;
}
언급URL : https://stackoverflow.com/questions/23858236/how-to-add-remove-columns-in-woocommerce-admin-product-list
'prosource' 카테고리의 다른 글
구문 오류 예기치 않은 토큰 U JSON (0) | 2023.04.03 |
---|---|
JSON은 Python 사전을 어떻게 직렬화합니까? (0) | 2023.04.03 |
전송 성공 후 연락처 폼을 숨기고 "발송"을 표시하려면 어떻게 해야 합니까? (0) | 2023.04.03 |
WooCommerce AJAX 카트 업데이트 후 jQuery 실행 (0) | 2023.03.29 |
woocommerce에서 카트에 대한 커스텀 할인을 생성하는 방법 (0) | 2023.03.29 |