Домой Wp-Recall WP-Recall: Проблемы и решения Аватары в виджетах комментариев.
6ответ(ов) в теме
Александр Викторович
не в сети 5 месяцев
На сайте с 29.10.2014
Участник
Тем 21
Сообщения 60
1
20:15

Приветствую всех.

Проблема: не выводятся аватары через виджет (неправильный путь к аватару).

Предлагаю в данной теме всем, кто может, оказывать помощь с выводом аватаров в различных виджетах, так как их предостаточно, а нормальная интеграция с ними пока не разработана. Искал на форуме по запросам: аватар, комментарии, нашел немного ...

Для начала размещаю, то что уже нашел здесь, и придется использовать если не поможете с тем, что у меня сейчас стоит и хотелось бы чтобы стояло дальше.

Плагин Decent Comments:

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

Открываем в плагине: class-decent-comments-renderer.php
Меняем: comment_author_email на user_id
$output .= get_avatar( $comment->comment_author_email, $avatar_size );
на:
$output .= get_avatar( $comment->user_id, $avatar_size );

А теперь о том. что стоит у меня, и что пробовал.

Плагин WP-RecentComments:

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

Обновляюсь сразу, так что версия последняя.
Нашел comment_author_email в файле core.php в двух местах (56, 74).
Поменял на user_id, но аватары не появились, так что буду благодарен если поможете …

Удачного всем времени …

0
Андрей CS
не в сети 11 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16929
2
21:00

Пробуйте найти строчку rc_get_avatar_url(get_avatar($comment, $options['avatar_size']))
и изменить ее так rc_get_avatar_url(get_avatar($comment->user_id, $options['avatar_size']))

0
Александр Викторович
не в сети 5 месяцев
На сайте с 29.10.2014
Участник
Тем 21
Сообщения 60
3
21:22

Вечер добрый, Андрей.
Попробовал,пока не сработало. Браузеры 2, чистил. Может следующая дополнительная информация пригодится:
01. Сейчас у тестируемого аватара из профиля путь:

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

(в виджете на сайте 1 сверху)
02. С виджета:

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

03. До этого стоял плагин Simple Local Avatars, пока деактивирован, но не удален, аватары с ПК загружали через него
04. В этой строчке $comments_query = "SELECT comment_author, comment_author_email, ... ничего не менял, только то, что указали ...

0
Андрей CS
не в сети 11 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16929
4
23:07

Посмотрев этот плагин я нашел причину в неправильной работе регулярного выражения в функции

function rc_get_avatar_url($code) {
	return preg_replace(array('/^.+(src=)("|')/i', '/("|')sclass=("|').+$/i', '/&/i'), array('', '', '&'), $code);
}

эта функция должна вытаскивать из кода аватара пользователя только src на аватар, но не делает это корректно.
Так что проблема в самом плагине, который кстати, не обновляется уже 2 года. Если переписать регулярку корректно, то можно добиться нормальной работы.

0
Александр Викторович
не в сети 5 месяцев
На сайте с 29.10.2014
Участник
Тем 21
Сообщения 60
5
01:20

Сходил в поиск по: function rc_get_avatar_url
Нашел решение здесь:

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

Заменил указанный выше код на:

function rc_get_avatar_url($code) {

//MY FIX - START
$quotes = array('"', "'");

foreach ($quotes as $q) {

$pos_start = strpos($code, $q.'http');
$pos_end = strpos($code, $q, $pos_start + 1);

if ($pos_start !== false && $pos_end !== false) {

$src = substr($code, $pos_start + 1, $pos_end - $pos_start - 1);
$src = preg_replace(array('/&/i'), array('&'), $src);
return $src;
}
}
//MY FIX - END

return preg_replace(array('/^.+(src=)("|')/i', '/("|')sclass=("|').+$/i', '/&/i'), array('', '', '&'), $code);
}

Аватары появились, буду тестировать, если проблем не будет, значит вывод аватаров в WP-RecentComments решен, то есть надо:
в файле core.php изменить приведенные выше строку и код.

Андрей благодарю за серьезную помощь от себя лично, и от тех, кому этот материал еще поможет в будущем. Кажется мелочь, а пол суток времени отняла ...

0
Александр Викторович
не в сети 5 месяцев
На сайте с 29.10.2014
Участник
Тем 21
Сообщения 60
6
16:03

Аватары в комментариях записях.

Пока занимался виджетом обратил внимание что в комментариях материалов (записи) аватара нет, пришлось искать решение. Оказалось что в некоторых темах этого вывода просто нет. Нашлось решение здесь:

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

Мои действия:
01. Открываем в используемой теме файл comments.php
02. Находим все comment
03. Находим где рядом есть comment_author_link
04. Над ним ставим: php echo get_avatar($comment, 40); // вывод аватаров (в php формате)
05. Проверяем появление аватаров в комментариях любой записи.

Сейчас тестирую, пока полет нормальный ...

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