1. мы добавили два столбца Dob и организацию: в столбце внутреннего списка пользователей.
2.но другой внутренний столбец был нарушен, поэтому другие значения столбцов отображаются неправильно
таблица списка пользователей
опция фильтра, которую я генерирую для этого кода, является конфликтной, и мы думаем, что когда мы удалили этот код, другие таблицы будут отображаться правильно.
Можете ли вы предложить следующий конфликт между фильтрами кода функции?
function filter_by_org ($ which1) {} когда мы удалили это значение, сгенерированный кодом фильтра, другой столбец будет работать правильно, поэтому, пожалуйста, предложите использовать сгенерированные значения фильтра функции, сгенерированные функция кода
Ниже приведены полные коды add_filter ('manage_users_columns', 'rudr_modify_user_table');
function rudr_modify_user_table( $columns ) {
$columns['registration_date'] = 'Dob'; // add new
return $columns;
}
add_filter( 'manage_users_custom_column', 'rudr_modify_user_table_row', 10, 3 );
function rudr_modify_user_table_row( $row_output, $column_id_attr, $user ) {
$date_format = 'j M, Y';
switch ( $column_id_attr ) {
case 'registration_date' :
if(get_the_author_meta( 'date', $user )=='00-00-0000'){
return " ";}
else {
return date( $date_format, strtotime( get_the_author_meta( 'date', $user ) ) );
break;
}
default:
}
return $row_output;
}
function add_column( $column ) {
$column['text_checkbox'] = 'Organization';
return $column;
}
add_filter( 'manage_users_columns', 'add_column' );
function add_column_value( $val, $column_name, $user_id ) {
$key='organization';
$single='true';
switch($column_name) {
case 'text_checkbox' :
return get_user_meta($user_id, $key, $single); ;
get_user_meta($user_identity, 'organization', true);
break;
default:
}
}
add_filter( 'manage_users_custom_column', 'add_column_value', 10, 3 );
function filter_by_org($which1)
{
// template for filtering
$st = '<select name="org_%s" style="float:none;margin-left:10px;"> <option value="">%s</option>%s</select>';
$options1 = '<option value="software">Software</option>
<option value="school">School</option>';
$select1 = sprintf( $st, $which1, __( 'Organization...' ), $options1 );
// output <select> and submit button
echo $select1;
submit_button(__( 'Filter' ), null, $which1, false);
}
add_action('restrict_manage_users', 'filter_by_org');
function filter_users_by_org_section($query)
{
global $pagenow;
if (is_admin() && 'users.php' == $pagenow) {
// figure out which button was clicked. The $which in filter_by_org()
$top = $_GET['org_top'] ? $_GET['org_top'] : null;
$bottom = $_GET['org_bottom'] ? $_GET['org_bottom'] : null;
if (!empty($top) OR !empty($bottom))
{
$section = !empty($top) ? $top : $bottom;
$meta_query = array (array (
'key' => 'organization',
'value' => $section,
'compare' => 'LIKE'
));
$query->set('meta_query', $meta_query);
}
}
}
add_filter('pre_get_users', 'filter_users_by_org_section');