在 Woocommerce 管理员订单列表的一列中显示用户简介
Display user bio in a column on Woocommerce admin orders list
我们将一些客户信息存储在用户编辑页面的 his/her 简历文本区域。
如何在 woocommerce 的订单管理页面中将用户 Bio 字段中的此存储数据显示为一列?
我试过这段代码,但它不起作用:
// Adding a custom new column to admin orders list
add_filter( 'manage_edit-shop_order_columns', 'custom_column_eldest_players', 20 );
function custom_column_eldest_players($columns)
{
$reordered_columns = array();
// Inserting columns to a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;
if( $key == 'order_status' ){
// Inserting after "Status" column
$reordered_columns['skb-client'] = __( 'Oudste Speler','theme_domain');
}
}
return $reordered_columns;
}
// Adding custom fields meta data for the column
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
if ( 'skb-client' != $column ) return;
global $the_order;
// Get the customer Bio
$user_bio = get_user_meta( $order->get_customer_id(), 'description', true );
$user_data = get_userdata( $user_bio );
echo $user_data->user_bio; // The WordPress user name
}
我们需要为每个客户购买显示此存储的数据。
最好的问候
您的第二个函数中未定义变量 $order
,因此您需要改用 $the_order
。然后我重新审视了你的代码……试试下面的方法:
// Adding a custom new column to admin orders list
add_filter( 'manage_edit-shop_order_columns', 'custom_column_eldest_players', 20 );
function custom_column_eldest_players($columns)
{
$reordered_columns = array();
// Inserting columns to a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;
if( $key == 'order_status' ){
// Inserting after "Status" column
$reordered_columns['user-bio'] = __( 'User bio', 'woocommerce');
}
}
return $reordered_columns;
}
// Adding custom fields meta data for the column
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id ) {
if ( 'user-bio' === $column ) {
global $the_order;
echo ( $user = $the_order->get_user() ) ? $user->description : 'n/c';
}
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。测试和工作。
我们将一些客户信息存储在用户编辑页面的 his/her 简历文本区域。 如何在 woocommerce 的订单管理页面中将用户 Bio 字段中的此存储数据显示为一列? 我试过这段代码,但它不起作用:
// Adding a custom new column to admin orders list
add_filter( 'manage_edit-shop_order_columns', 'custom_column_eldest_players', 20 );
function custom_column_eldest_players($columns)
{
$reordered_columns = array();
// Inserting columns to a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;
if( $key == 'order_status' ){
// Inserting after "Status" column
$reordered_columns['skb-client'] = __( 'Oudste Speler','theme_domain');
}
}
return $reordered_columns;
}
// Adding custom fields meta data for the column
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
if ( 'skb-client' != $column ) return;
global $the_order;
// Get the customer Bio
$user_bio = get_user_meta( $order->get_customer_id(), 'description', true );
$user_data = get_userdata( $user_bio );
echo $user_data->user_bio; // The WordPress user name
}
我们需要为每个客户购买显示此存储的数据。 最好的问候
您的第二个函数中未定义变量 $order
,因此您需要改用 $the_order
。然后我重新审视了你的代码……试试下面的方法:
// Adding a custom new column to admin orders list
add_filter( 'manage_edit-shop_order_columns', 'custom_column_eldest_players', 20 );
function custom_column_eldest_players($columns)
{
$reordered_columns = array();
// Inserting columns to a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;
if( $key == 'order_status' ){
// Inserting after "Status" column
$reordered_columns['user-bio'] = __( 'User bio', 'woocommerce');
}
}
return $reordered_columns;
}
// Adding custom fields meta data for the column
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id ) {
if ( 'user-bio' === $column ) {
global $the_order;
echo ( $user = $the_order->get_user() ) ? $user->description : 'n/c';
}
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。测试和工作。