WooCommerce show custom 컬럼
WooCommerce 백엔드에 추가 컬럼을 표시하고 싶습니다(Orders 개요).열에는 사용자 지정 필드(배송 날짜)가 포함되어 있어야 합니다.
이거 어떻게 하는 거야?
누군가가 여전히 필요한 경우 - Woocommerce 주문 목록에 새 열을 추가하는 방법에 대한 지침.기본 열을 설정할 필요가 없습니다. 이 열을 함수에 추가하면 됩니다.php와 당신의 코드는 업데이트에 유효합니다.
1. 컬럼 위치 및 이름 정의
add_filter( 'manage_edit-shop_order_columns', 'MY_COLUMNS_FUNCTION' );
function MY_COLUMNS_FUNCTION($columns){
$new_columns = (is_array($columns)) ? $columns : array();
unset( $new_columns['order_actions'] );
//edit this for you column(s)
//all of your columns will be added before the actions column
$new_columns['MY_COLUMN_ID_1'] = 'MY_COLUMN_1_TITLE';
$new_columns['MY_COLUMN_ID_2'] = 'MY_COLUMN_2_TITLE';
//stop editing
$new_columns['order_actions'] = $columns['order_actions'];
return $new_columns;
}
2. 각 커스텀 열에 대해 값을 표시합니다.
add_action( 'manage_shop_order_posts_custom_column', 'MY_COLUMNS_VALUES_FUNCTION', 2 );
function MY_COLUMNS_VALUES_FUNCTION($column){
global $post;
$data = get_post_meta( $post->ID );
//start editing, I was saving my fields for the orders as custom post meta
//if you did the same, follow this code
if ( $column == 'MY_COLUMN_ID_1' ) {
echo (isset($data['MY_COLUMN_1_POST_META_ID']) ? $data['MY_COLUMN_1_POST_META_ID'] : '');
}
if ( $column == 'MY_COLUMN_ID_2' ) {
echo (isset($data['MY_COLUMN_2_POST_META_ID']) ? $data['MY_COLUMN_2_POST_META_ID'] : '');
}
//stop editing
}
3. (옵션)열을 정렬할 수 있도록 만드는 함수
add_filter( "manage_edit-shop_order_sortable_columns", 'MY_COLUMNS_SORT_FUNCTION' );
function MY_COLUMNS_SORT_FUNCTION( $columns ) {
$custom = array(
//start editing
'MY_COLUMN_ID_1' => 'MY_COLUMN_1_POST_META_ID',
'MY_COLUMN_ID_2' => 'MY_COLUMN_2_POST_META_ID'
//stop editing
);
return wp_parse_args( $custom, $columns );
}
우커머스 주문표에 새로운 칼럼 쿠폰을 추가하고 주문에 따른 모든 쿠폰 코드를 받기 위해.function.pasting에 복사하여 붙여넣어야 합니다.
add_filter('manage_edit-shop_order_columns', 'custom_shop_order_column', 11);
function custom_shop_order_column($columns) {
//add columns
$columns['my-column1'] = __('Coupons Code', 'theme_slug');
return $columns;
}
// adding the data for each orders by column (example)
add_action('manage_shop_order_posts_custom_column', 'cbsp_credit_details', 10, 2);
function cbsp_credit_details($column) {
global $post, $woocommerce, $the_order;
$order_id = $the_order->id;
switch ($column) {
case 'my-column1' :
// $myVarOne = wc_get_order_item_meta( $order_id, 15, true );
if ($the_order->get_used_coupons()) {
$coupons_count = count($the_order->get_used_coupons());
foreach ($the_order->get_used_coupons() as $coupon) {
echo $coupon;
$i++;
}
echo '</p>';
}
// echo $myVarOne;
break;
}
}
이것을 사용해 보세요.기능의 코드 아래에 기입하기만 하면, 솔루션을 얻을 수 있습니다.php 파일.
add_filter( 'manage_edit-shop_order_columns','your_function_name',10 );
function your_function_name($columns){
$columns['delivery_date'] = __('Delivery date','textdomain');
return $columns;
}
add_action( 'manage_shop_order_posts_custom_column','your_other_function_name',20 );
function your_other_function_name($column)
{
swith($column)
{
case 'delivery_date': // your custom code here and do what you want.
}
}
다음은 WooCommerce 2.6.2에 적용됩니다.다음의 2개의 새로운 훅을 조사할 필요가 있습니다.
- woocommerce_admin_order_item_dems. 오더 테이블헤더가 생성되었을 때 한 번 호출됩니다.
- woocommerce_admin_order_item_values, 주문 내 각 항목마다 한 번씩 호출됩니다.
1. 컬럼 헤더를 정의합니다.
add_filter('woocommerce_admin_order_item_headers', 'so13683162_headers');
function so13683162_headers($order) {
echo "<th>FIELD1</th>";
}
2. 값을 행에 입력한다.
add_filter('woocommerce_admin_order_item_values', 'so13683162_values');
function so13683162_values($product) {
if (isset($product -> id)) {
$attrs = get_post_meta($product -> id, "_product_attributes", true);
echo "<td>" . $attrs["FIELD1"]["value"] . "</td>";
}
}
Woocommerce를 지금 우연히 만났어요.커스텀 필드를 추가하고 주문 개요 페이지에 표시하려고 합니다.
간신히 열을 추가했지만 각 주문에 대한 사용자 지정 필드 값을 가져올 수 없습니다.
제가 한 일은 다음과 같습니다.
// Removed Existing Order Page collumns
remove_filter('manage_edit-shop_order_columns', 'woocommerce_edit_order_columns');
// Added My own filter to Show the PRN - Personal Registration field
add_filter('manage_edit-shop_order_columns', 'omak_edit_order_columns');
// The omak_edit_order_columns definition
/*** Taken from admin/post_types/shop_order.php ***/
function omak_edit_order_columns($columns){
global $woocommerce;
$columns = array();
$columns["cb"] = "<input type=\"checkbox\" />";
$columns["order_status"] = __( 'Status', 'woocommerce' );
$columns["order_title"] = __( 'Order', 'woocommerce' );
$columns["order_prn"] = __( 'PRN', 'woocommerce' ); // This is the line which added the column after the Title Column
$columns["billing_address"] = __( 'Billing', 'woocommerce' );
$columns["shipping_address"] = __( 'Shipping', 'woocommerce' );
$columns["total_cost"] = __( 'Order Total', 'woocommerce' );
$columns["order_comments"] = '<img alt="' . esc_attr__( 'Order Notes', 'woocommerce' ) . '" src="' . $woocommerce->plugin_url() . '/assets/images/order-notes_head.png" class="tips" data-tip="' . __( 'Order Notes', 'woocommerce' ) . '" width="12" height="12" />';
$columns["note"] = '<img src="' . $woocommerce->plugin_url() . '/assets/images/note_head.png" alt="' . __( 'Customer Notes', 'woocommerce' ) . '" class="tips" data-tip="' . __( 'Customer Notes', 'woocommerce' ) . '" width="12" height="12" />';
$columns["order_date"] = __( 'Date', 'woocommerce' );
$columns["order_actions"] = __( 'Actions', 'woocommerce' );
return $columns;
}
도움이 되면 알려줘요...
저는 각 주문에 대한 가치를 얻는 방법을 다루어야 합니다.
코멘트대로 함수의 정의는 shop_order에 존재합니다.php를 WooCommerce 플러그인으로 설정합니다.누가 알아내면 알려줘..할 줄 알지도 몰라
감사합니다(죄송합니다만, 일이 바빠서 오류를 확인하기 위해 다시 읽을 수 없었습니다)
언급URL : https://stackoverflow.com/questions/13683162/woocommerce-show-custom-column
'source' 카테고리의 다른 글
Is there a way to check if the react component is unmounted? (0) | 2023.02.22 |
---|---|
모델 변경 시 AngularJS 뷰가 업데이트되지 않음 (0) | 2023.02.22 |
WordPress "_e()" 함수는 무엇을 합니까? (0) | 2023.02.22 |
app.use(bodyParser.json())는 무엇을 합니까? (0) | 2023.02.22 |
React.js에서 Axios와 함께 비동기/Awit 사용 (0) | 2023.02.22 |