Значения столбца таблицы списка пользователей WordPress не отображаются, если сгенерированный фильтром код удален? - PullRequest
0 голосов
/ 18 апреля 2020

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');
...