Для Woocommerce, с помощью этой ветки ответов , я создал несколько пользовательских столбцов в списке пользователей Back-end (Admin):
В базе данных есть некоторые meta_key
значения, называемые billing_vatnr
и billing_company
, взятые из регистрационной формы WooCommerce и сохраненные в таблице wp_usermeta
.
Я пытаюсь выяснить, как отобразить соответствующие meta_value
для этих мета-ключей и показать их в соответствующих столбцах для каждого пользователя.
Другими словами, в поле VAT Nr должно отображаться содержимое мета-ключа billing_vatnr
, а при отсутствии содержимого отображается N/A
.То же самое для столбца Название компании с billing_company
.
Это то, что я до сих пор пробовал:
add_filter('manage_users_custom_column', 'vatnr_status_data', 10, 3);
function vatnr_status_data( $value, $column_name, $user_id ) {
if ( 'account_vatnr' == $column_name ) {
if( $billing_vatnr = get_user_meta( $user_id, 'billing_vatnr', true )) {
echo $billing_vatnr; } else { echo "N/A"; }
}
return $value;
}
Но это не работает.
ЗдесьВот разные столбцы, которые я добавил:
// creating the columns
add_action('manage_users_columns','account_verification_status_and_company_columns');
function account_verification_status_and_company_columns($column_headers) {
unset($column_headers['posts']);
$column_headers['account_verification'] = __('Verification Status');
$column_headers['account_vatnr'] = __('VAT Nr');
$column_headers['account_companyname'] = __('Company Name');
return $column_headers;
}
// fetching the verification status, thanks to LoicTheAztec
add_filter('manage_users_custom_column', 'user_account_verification_status_data', 10, 3);
function user_account_verification_status_data( $value, $column_name, $user_id ) {
if ( 'account_verification' == $column_name ) {
if( get_user_meta( $user_id, 'is_activated', true ) == 1 ) {
$value = '<span style="color:green;font-weight:bold;">Verified</span>';
} else {
$value = '<span class="na" style="color:grey;"><em>Not Verified</em></span>';
}
}
return $value;
}
Любая помощь очень ценится.