11ответ(ов) в теме
Алексей Тихонов
не в сети 6 лет
На сайте с 11.09.2016
Участник
Тем 57
Сообщения 167
1
19:48

Вы не можете просматривать опубликованные ссылки

как отобразить данный пункт в ленте пользователей и самого продавца?

0
Алексей Тихонов
не в сети 6 лет
На сайте с 11.09.2016
Участник
Тем 57
Сообщения 167
2
13:38

у меня так

Вы не можете просматривать опубликованные ссылки
0
Андрей CS
не в сети 13 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16943
3
13:45

add_filter('rcl_users','add_count_users_sales',10);
function add_count_users_sales($users){
    global $wpdb,$user_ID;

    if(!$users) return $users;

    $ids = rcl_get_users_ids($users);

    $query = "SELECT COUNT(ID) AS buy_count, user_id AS ID "
            . "FROM ".WP_PREFIX."rmag_files_downloads "
            . "WHERE user_id IN (".implode(',',$ids).") "
            . "GROUP BY user_id";
    
    $buys = $wpdb->get_results($query);

    if($buys)
        $users = rcl_merge_objects($users,$buys,'buy_count'); 
    
    $query = "SELECT COUNT(author_id) AS sale_count, author_id AS ID "
            . "FROM ".WP_PREFIX."rmag_files_downloads "
            . "WHERE author_id IN (".implode(',',$ids).") "
            . "GROUP BY author_id";

    $sales = $wpdb->get_results($query);

    if($sales)
        $users = rcl_merge_objects($users,$sales,'sale_count');

    return $users;
}

function rcl_get_users_ids($users){

    if(!$users) return $users;

    $ids = array();

    foreach($users as $user){
        $ids[] = $user->ID;
    }

    return $ids;
}

function rcl_merge_objects($users,$data,$key){
    foreach($users as $k=>$user){
        foreach($data as $d){
            if(is_array($d)){
                if($d['ID']!=$user->ID) continue;
                $users[$k]->$key = $d[$key];
            }else{
                if($d->ID!=$user->ID) continue;
                $users[$k]->$key = $d->$key;
            }
        }
    }
    return $users;
}

add_action('rcl_user_description','rcl_user_buys_and_sales',20);
function rcl_user_buys_and_sales(){
    global $rcl_user,$rcl_users_set;

    if(!isset($rcl_user->buy_count)) $rcl_user->buy_count = 0;
    if(!isset($rcl_user->sale_count)) $rcl_user->sale_count = 0;
    echo '<span class="filter-data"><i class="fa fa-exchange"></i>Продаж/Покупок: '.$rcl_user->sale_count.'/'.$rcl_user->buy_count.'</span>';
}

2
Sergio
не в сети 5 лет
На сайте с 08.08.2015
Участник
Тем 40
Сообщения 245
4
18:45

ВОПРОС
Этот код куда лучше вставить ?

0
Вова (Otshelnik-Fm)
не в сети 1 день
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
5
19:17

Можно оформить как дополнение к wp-recall. Можно просто в файл функций вашего активного ВП шаблона вставить (но тогда при его обновлении придется вновь вписывать)

0
Sergio
не в сети 5 лет
На сайте с 08.08.2015
Участник
Тем 40
Сообщения 245
6
19:24

в функцию шаблона вставил
но происходит неправильное отображение

Вы не можете просматривать опубликованные ссылки
0
Вова (Otshelnik-Fm)
не в сети 1 день
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
7
19:43

Наверное стилями подправить нужно? Отображается же

1
Sergio
не в сети 5 лет
На сайте с 08.08.2015
Участник
Тем 40
Сообщения 245
8
17:27

Нашел причину некорректного отображения
при активации дополнения награды/медали происходит смещение
в блоках пользователей у которых нет наград

Вы не можете просматривать опубликованные ссылки

в блоках пользователей у которых есть награды

Вы не можете просматривать опубликованные ссылки

после деактивации дополнения отображается нормально

Вы не можете просматривать опубликованные ссылки
0
Вова (Otshelnik-Fm)
не в сети 1 день
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
9
17:35

В экшене

add_action('rcl_user_description','rcl_user_buys_and_sales',20);

есть 20 - указывает на порядок срабатывания хука. Попробуйте выставить пораньше - (поменьше число) - возможно найдете свою позицию

1
Sergio
не в сети 5 лет
На сайте с 08.08.2015
Участник
Тем 40
Сообщения 245
10
17:37

понял сейчас посмотрим

0
Sergio
не в сети 5 лет
На сайте с 08.08.2015
Участник
Тем 40
Сообщения 245
11
18:43

Спасибо попробывал
все встало в ряд (при смене от 10 до 19 включительно) единственное только встает в начале не после публикации

Вы не можете просматривать опубликованные ссылки

а уже при 20 перескакивает после награды

Otshelnik спасибо за рекомендацию ! хоть не после публикаций но в ряд ( все же из дополнения медали перескок происходит )

0
Тема закрыта. Публикация новых сообщений запрещена.