Мы храним некоторую информацию о клиенте в текстовой области его/ее биографии на странице редактирования пользователя. Как отобразить эти сохраненные данные в поле «Био пользователя» в виде столбца на странице администрирования заказа в 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
}
нам нужно, чтобы эти сохраненные данные отображались для каждой покупки клиентов. С наилучшими пожеланиями
Переменная $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 вашей активной дочерней темы (или активной темы). Проверено и работает.
Я использую Admin Columns Pro. Как включить встроенное редактирование для этого столбца на странице администратора заказов woocommerce?