+ + +
С нами с 03.04.10
Сообщения: 1068
Рейтинг: 521
|
Добавлено: 30/08/13 в 10:17 |
граждане програмеры подскажите че не так с функцией , по идее должна определять по айди выводить роль зарегистрированного комментатора рядом с ником в вордпрессе (именно в коментариях)
Код: [развернуть] | function get_role($user_id)
{
if(is_int($user_id))
{
$user = new WP_User( $user_id );
if ( !empty( $user->roles ) && is_array( $user->roles ) )
{
foreach ( $user->roles as $role )
echo $role;
}
}
else
echo "Что-то другое";
} |
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 30/08/13 в 14:41 |
Код: | function getUserRoles($id) {
$user = new WP_User((int)$id);
return implode(' and ', $user->roles);
} |
Если нужно выводить роль автора поста (т.е. это в цикле ВП), то вот так:
Код: | echo getUserRoles(get_the_author_meta('ID')) |
|
|
|
|
+ + +
С нами с 03.04.10
Сообщения: 1068
Рейтинг: 521
|
Добавлено: 30/08/13 в 15:39 |
Yacc:да не, нужно именно в коментах , а выводить в нужном месте таким макаром ?
Код: | <?php getUserRoles($id); ?> |
а то чето не выводится нефига
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 30/08/13 в 16:17 |
Пардон, увидел комментарии, но не увидел комментатора.
despero писал: | чето не выводится нефига |
Код: | <?php echo getUserRoles($id); ?> |
Роль есть только у комментатора зарегистрированного как пользователь, у обычных комментаторов роли нет.
|
|
|
|
+ + +
С нами с 03.04.10
Сообщения: 1068
Рейтинг: 521
|
Добавлено: 30/08/13 в 18:01 |
все равно чето не то, даже возле моих коментов не выводится нехера
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 30/08/13 в 19:06 |
Мой код работает, проверено. Если не выводится значит ты даёшь id = 0.
Сделай такой тест, добавь в single.php внутрь цикла:
Код: | <?php foreach(get_comments(array('post_id' => get_the_ID())) as $comment)
printf(
'Name: %1$s<br/>ID: %2$s<br/>Roles: %3$s<hr/>',
$comment->comment_author,
$comment->user_id,
getUserRoles($comment->user_id)
) ?> |
Увидишь примерно следующее:
Name: Not A User
ID: 0
Roles:
---
Name: New User
ID: 6
Roles: editor
---
Name: admin
ID: 1
Roles: administrator
---
Как видишь для не зарегистрированного пользователя Not A User id = 0 и ролей нет.
|
|
|
|
+ + +
С нами с 03.04.10
Сообщения: 1068
Рейтинг: 521
|
Добавлено: 30/08/13 в 19:33 |
Есть контакт сделал вот так
Код: | <?php echo getUserRoles($comment->user_id); ?> |
и все заработало огромное спасибо
теперь надо еще стандартных администратор и субсрибЁров поменять на каких прикольных Одмин , дрочер и тд.
|
|
|
|
+ + +
С нами с 03.04.10
Сообщения: 1068
Рейтинг: 521
|
Добавлено: 31/08/13 в 09:04 |
Незнаю может кому еще пригодится то проблему вывода стандартных ролей решил таким образом вместо
Код: | <?php echo getUserRoles($comment->user_id); ?> |
прописал такое
Код: | <?php if(getUserRoles($comment->user_id)=='administrator') {echo 'Сцукоадмин';} else if(getUserRoles($comment->user_id)=='subscriber') {echo 'Тупо дрочер';} ?> |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |