Как изменить фильтрацию по умолчанию в buddypress

    в файле index.php поменял местами Alphabetical и ‘Last Active’, в итоге в самом окошке сортировки по умолчанию стало по алфавиту, но в самом списке осталась сортировка по активности

     

    <label for=»members-order-by»><?php _e( ‘Order By:’, ‘buddypress’ ); ?></label>
    <select id=»members-order-by»>
    <?php if ( bp_is_active( ‘xprofile’ ) ) : ?>
    <option value=»alphabetical»><?php _e( ‘Alphabetical’, ‘buddypress’ ); ?></option>
    <?php endif; ?>

    <option value=»active»><?php _e( ‘Last Active’, ‘buddypress’ ); ?></option>
    <option value=»newest»><?php _e( ‘Newest Registered’, ‘buddypress’ ); ?></option>

    Добавить Комментарий

    Если у вас свой шаблон для отображения пользователе, то по пути:  /your-them/buddypress/members/members-loop.php

    замените это:

    
    if ( bp_has_members( bp_ajax_querystring( 'members' ) ) ) :
    
    

    на это:

    
    if ( bp_has_members( bp_ajax_querystring( 'members' ) . '&populate_extras&type=alphabetical' ) ) :
    
    

    Еще можно попробовать добавить следующий код в файл functions.php

    
    function alphabetize_by_last_name( $bp_user_query ) {
    
    if ( 'alphabetical' == $bp_user_query->query_vars['type'] )
    
    $bp_user_query->uid_clauses['orderby'] = "ORDER BY substring_index(u.display_name, ' ', -1)";
    
    }
    
    add_action ( 'bp_pre_user_query', 'alphabetize_by_last_name' );
    
    
    в 27.03.2017.

    Спасибо за ответ!) Отличные варианты решения проблемы, но и мой вариант тоже сработал, просто нужно было кэш почистить))

    в 28.03.2017.

    Есть еще один вопрос, если добавлять в functions дополнительные поля:

     

    add_action(‘bp_directory_members_actions’, function() {

    global $members_template;
    $phone = bp_get_profile_field_data( ‘field=phone&user_id=’ . $members_template->member->ID );
    echo $phone . ‘ / ‘;

    });
    add_action(‘bp_directory_members_actions’, function() {
    global $members_template;
    $position = bp_get_profile_field_data( ‘field=position&user_id=’ . $members_template->member->ID );
    echo $position;

    });

     

    То они идут в одну строку, их можно разбить как-то по ячейкам как в таблице, да и хотелось бы сверху заголовки столбцов добавить, а то получается совсем печально

    RE: Как изменить фильтрацию по умолчанию в buddypress

    в 28.03.2017.

    Задайте отдельный вопрос.

    в 28.03.2017.
    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.