8 ответ(ов) в теме
Kerncraft1
не в сети 6 дней
На сайте с 18.07.2014
Участник
Тем 23
Сообщения 138
1
09:39

Версия WP-Recall: 16.8.11

Версия дополнения: 1.9

Доброго дня! Сперва хочу поблагодарить Вас за развитие дополнения и отзывчивость к пожеланиям.

Вопрос: можно ли как-то самостоятельно выбрать место в ЛК или на форуме, где будет выводиться звание?

0
Preci
не в сети 7 часов
На сайте с 11.11.2014
Участник
Тем 53
Сообщения 408
2
10:58

$user_title = get_user_meta($user_id, 'achiev-title', true);

if ($user_title && $user_title != 'Не показывать') {
           echo $user_title ;
}

0
Kerncraft1
не в сети 6 дней
На сайте с 18.07.2014
Участник
Тем 23
Сообщения 138
3
11:00

Я правильно понимаю, что данный код необходимо добавить в файл функций, а в шаблоне ЛК с помощью $user_title выводить звание?

0
Preci
не в сети 7 часов
На сайте с 11.11.2014
Участник
Тем 53
Сообщения 408
4
11:10

Нет, если вам нужна функция то вот добавьте в functions.php темы:

function get_user_title_achiev_jhyuj($user_id = false) {
    
    if(!$user_id) return false;
    
    $user_title = get_user_meta($user_id, 'achiev-title', true);

    if ($user_title && $user_title != 'Не показывать') {
               return $user_title ;
    }
}

И в месте где надо вывести титул добавляйте

//$user_id - ID юзера чей титул надо вывести
echo get_user_title_achiev_jhyuj($user_id);

0
Kerncraft1
не в сети 6 дней
На сайте с 18.07.2014
Участник
Тем 23
Сообщения 138
5
11:22

Ага, вроде получилось. Спасибо!

0
Kerncraft1
не в сети 6 дней
На сайте с 18.07.2014
Участник
Тем 23
Сообщения 138
6
16:39

Preci, а подскажите пожалуйста, как правильно прописать условие на наличие звания? В ЛК вывожу такой конструкцией:

<h2><?php rcl_username(); ?> <span>(<?php echo get_user_title_achiev_jhyuj($user_LK); ?>)</span></h2>

Т.е. звание в скобках. Вот тут бы и прописать условие, чтобы если звания нет, то не показывались бы скобки.

0
Preci
не в сети 7 часов
На сайте с 11.11.2014
Участник
Тем 53
Сообщения 408
7
16:59

В функции которую добавляли замените

return $user_title ;

на

return '('.$user_title.')';

а у себя скобки удалите

0
Preci
не в сети 7 часов
На сайте с 11.11.2014
Участник
Тем 53
Сообщения 408
8
17:03

а лучше замените функцию на такую:

function get_user_title_achiev_jhyuj($user_id = false, $before = false, $after = false) {
    
    if(!$user_id) return false;
    
    $user_title = get_user_meta($user_id, 'achiev-title', true);

    if ($user_title && $user_title != 'Не показывать') {
               return $before.$user_title.$after;
    }
}

и выводите так:

<?php echo get_user_title_achiev_jhyuj($user_LK,'(', ')'); ?>

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

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