我们在用户编辑页面的他/她的生物文字区域中存储了一些客户信息。 如何在woocommerce的“订单管理”页面中的用户“生物”字段中以列的形式显示此存储的数据? 我尝试了这段代码,但没有用:
// 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
}
我们需要为每个客户购买时显示此存储的数据。 最好的问候
答案 0 :(得分:1)
在第二个函数中未定义变量$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文件中。经过测试和工作。