Отображение аватаров
Подскажите пожалуйста. Не могу понять почему на одном сайте отображается аватары (по умолчанию, пользователи у которых нет аватаров ) а на другом нет. Причем все тоже самое на обоих сайтах.
// меняю стандартный аватар
add_filter( 'avatar_defaults', 'setnew_gravatar' ); function setnew_gravatar ($avatar_defaults) {get_bloginfo('template_directory'); $myavatar = get_bloginfo('template_directory') . '/images/default_avatar.webp'; $avatar_defaults[$myavatar] = "По умолчанию"; return $avatar_defaults;}
//отображаю аватар
echo '<br/><a href="/author/?uid=' . $comment->user_id . '">' . '<span>' . $comment->comment_author . '</span>' . '<br/><br/><span class="avava">' . get_avatar($comment->user_id, '', '', 'Аватар') . '</span></a>';
Отображается
Не отображается
Причин может быть много, точн одинаковое все? темы, ошибки в путях, кэширование, разные настройки, настройки хоста различные - может версия пыхи другая, плагины и еще миллиард вариантов. Чекайте логи севера и всегда работайте с включеным дебагом, записывайте в файл логи итд
спасибо. где-то проблема с id пользователем.
function pfilan_comments() { $args = array('number' => 8, 'orderby' => 'comment_date','order' => 'DESC','status' => 'approve', 'type' => 'comment'); global $user_ID; if( $comments = get_comments( $args ) ); { foreach( $comments as $comment){ $comm_link = get_comment_link( $comment->comment_ID ); $comm_short_txt = mb_substr( strip_tags( $comment->comment_content ), 0, 50 ) .'...'; $date = get_comment_date('', $comment->comment_ID); $time = get_comment_date('g:i', $comment->comment_ID); $args = array('user_id' => $comment->user_id,'count' => true); $comments = get_comments( $args ); echo '<div class="recentcomments">'; echo '<br/><a href="/author/?uid=' . $comment->user_id . '">' . '<span>' . $comment->comment_author . '</span>' . '<br/><br/><span class="avava">' . get_avatar($comment->user_id, '', '', 'Аватар') . '</span></a>'; echo ' <span class="crug" data-tooltip="Сообщений: ' . $comments . ' "> <i class="fa fa-comments-o color-pf-ser"></i> </span>'; echo ' <span class="crug" data-tooltip="Дата: ' . $date . ' "> <i class="fa fa-calendar color-pf-ser"></i></span>'; echo ' <span class="crug" data-tooltip="Время: ' . $time . ' "> <i class="fa fa-clock-o color-pf-ser"></i></span>'; echo '<br/><br/><i class="fa fa-comments-o"></i> <a href="'. $comm_link .'" data-tooltip="К записи: '. $comment->post_title .'">' . $comm_short_txt . '</a><br/>'; echo '</div>'; }}}
Нужно тут что-то менять
get_avatar($comment->user_id, '', '', 'Аватар')
Когда пользователя нет, нужно выводить деф аватар.
Если ставлю
get_avatar($comment->comment_author '', '', 'Аватар',)
то эту картинку всем ставит
Причем странно все теже настройки на одном выводит на другом нет.
проблема кэш браузера была
Решение
if ($comment->user_id > '0') { echo '<br/><a href="/author/?uid=' . $comment->user_id . '">' . '<span>' . $comment->comment_author . '</span>' . '<br/><br/><span class="avava">' . get_avatar($comment->user_id, '', '', $pf_name,) . '</span></a></span>'; } if ($comment->user_id === '0') { echo '<br/>' . '<span>' . $comment->comment_author . '</span>' . '<br/><br/><span class="avava">' . get_avatar($comment->comment_author, '', '', $pf_name,) . '</span></span>'; }
Вот тут не пойму почему не отображается
<?php global $current_user; ?><a href="/author/"> <?php if ( is_user_logged_in() && $us_id > 0 && $us_id !== "" && is_numeric($us_id)) { } else { $us_id = $user_ID; } $user_info = get_userdata( $us_id ); $pf_name = $current_user->display_name; if (($user_info->subscription) ?: false) { echo '<span class="users-subscription">'; } elseif (($user_info->donation) ?: false) { echo '<span class="users-donation">'; } else { echo '<span class="users-default">'; } if (is_user_logged_in()) { echo get_avatar ( $current_user->id, '', '', $alt = $pf_name) . '</span>'; } else { echo get_avatar ( $current_user->display_name, '', '', $alt = $pf_name) . '</span>'; } ?> </a>
тут
echo get_avatar ( $current_user->display_name, '', '', $alt = $pf_name) . '</span>';
if ($user_ID === 0) { echo get_avatar ( $current_user->display_name, '', '', 'Аватар') . '</span>'; } if ($user_ID > 0) { echo get_avatar ( $user_ID, '', '', $pf_name) . '</span>'; }
А какой там УРЛ, где не отображается?