我正在尝试制作一个自定义的Woocommerce订单概述列,该列显示WordPress用户。
这是驻留在functions.php
文件中的代码:
// ADDING A NEW COLUMN
add_filter( 'manage_edit-shop_order_columns', 'k2i_extra_column_eldest_players', 20 );
function k2i_extra_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 )
{
switch ( $column )
{
case 'skb-client' :
// Get custom post meta data
$my_var_one = get_post_meta( $post_id, 'user_name', true );
if(!empty($my_var_one))
echo $my_var_one;
// Testing (to be removed) - Empty value case
else
echo '<small>(<em>no value</em>)</small>';
break;
}
}
我认为我的错误在于以下代码行:
$my_var_one = get_post_meta( $post_id, 'user_name', true );
元密钥'user_name'
可能不是正确的密钥...但是我似乎找不到正确的密钥。
任何帮助,将不胜感激。
更新:右侧meta_key
获得用户ID在woocommerce订单的_customer_user
,所以:
$user_id = get_post_meta( $post_id, '_customer_user', true );
或者,您可以将$the_order
全局对象用作:
global $the_order;
$user_id = $the_order->get_customer_id();
从此用户ID获得WordPress用户数据后:
$user_data = get_userdata( $userid );
echo 'Username: ' . $user_data->user_login . "<br>";
echo 'User email: ' . $user_data->user_email . "<br>";
echo 'User roles: ' . implode(', ', $user_data->roles) . "<br>";
echo 'User ID: ' . $user_data->ID . "<br>";
echo 'User full name: ' . $user_data->last_name . ", " . $user_data->first_name . "<br>";
因此,在您的代码中:
// 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 id
$user_id = $the_order->get_customer_id();
if( ! empty($user_id) && $user_id != 0) {
$user_data = get_userdata( $user_id );
echo $user_data->user_login; // The WordPress user name
}
// Testing (to be removed) - Empty value case
else
echo '<small>(<em>Guest</em>)</small>';
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句