X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Текст комментария заменить на название новости? WP
diks
diks
Topic Starter сообщение 15.8.2012, 0:05; Ответить: diks
Сообщение #1


Участник
***

Группа: User
Сообщений: 194
Регистрация: 20.6.2011
Из: Киев
Поблагодарили: 6 раз
Репутация:   -2  


здравствуйте, есть код (приведен ниже), он для вывода последних комментариев. как в нем заменить текст самого комментария на название новости в которой лежит комментарий? спасибо.
function recent_comments_remak ($number=5, $length=150) {
$args = array (
'number' => $number,
'status' => 'approve',
);
$comments = get_comments($args);
echo '<ul>';
foreach($comments as $comment) :
$comment_content_short = strip_tags($comment->comment_content);
$comment_content_short = substr($comment_content_short, 0, $length);
echo '<li class="recentcomments">' . $comment->comment_author . '<br /><a href="' . get_comment_link($comment->comment_ID) . '">' . substr($comment_content_short, 0, strrpos($comment_content_short, ' ')) . '...</a></li>';
endforeach;
echo '</ul>';
}
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serkaz
serkaz
сообщение 15.8.2012, 2:48; Ответить: serkaz
Сообщение #2


Участник
***

Группа: User
Сообщений: 203
Регистрация: 15.2.2012
Поблагодарили: 60 раз
Репутация:   10  


function recent_comments_remak () {
    $comments = get_comments("number=5&status=approve");
    echo '<ul>';
    foreach($comments as $comment) :
        $post = get_posts("include=".$comment->comment_post_ID."&numberposts=1");
        echo '<li class="recentcomments">' . $comment->comment_author . '<br /><a href="' . get_comment_link($comment->comment_ID) . '">' . $post[0]->post_title . '...</a></li>';
    endforeach;
    echo '</ul>';
}


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Pepper
Pepper
сообщение 15.8.2012, 22:15; Ответить: Pepper
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 393
Регистрация: 14.1.2011
Поблагодарили: 123 раза
Репутация:   31  


serkaz, ваш вариант функции делает ~24 запроса к базе данных, если показывать только 5 комментов. Если показывать 10, то запросов уже более 40.
Первый вариант делает ~15 запросов.
"Приблизительно" потому, что запросы будут разные в зависимости от страницы (страница с комментами, главная, сайдбар в категории и т.д.)

Вот мой вариант, который делает всего 2 запроса. А если заменить
$per_page = get_option('per_page');

на макс. количество комментариев на страницу (указано в настройках блога), то количество SQL запросов станет равным 1.
Например, у меня стоит 50. Поэтому пишем
$per_page = 50;


Вот сама функция.
function pepper_recent_comments(){
   global $wpdb;
   $per_page = get_option('per_page');
   $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments C INNER JOIN $wpdb->posts P ON C.comment_post_ID=P.ID WHERE C.comment_approved='1' ORDER BY C.comment_date_gmt DESC LIMIT 5", OBJECT);
   foreach($comments as $comment){
      wp_cache_add($comment->comment_post_ID, $comment, 'posts');
      echo '<li class="recentcomments">'.$comment->comment_author.'<br /><a href="'.get_comment_link($comment, array('page'=>ceil($comment->comment_count/$per_page),'per_page'=>$per_page)).'">'.$comment->post_title.'</a></li>';
   }
   echo '</ul>';
}


Сообщение отредактировал Pepper - 15.8.2012, 22:20


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Новости mail.ru появятся в "рекомендациях" Вконтакте?
19 eduarddis 2809 12.12.2017, 20:37
автор: galikfor
Горячая тема (нет новых ответов) Копирайтинг и рерайт: качественный сео-текст по доступной цене!
312 Sostavitel 91143 8.12.2017, 12:30
автор: Sostavitel
Горячая тема (нет новых ответов) Крупные новостные (СМИ) площадки, Яндекс Новости, Google News, анонсы, хорошая посещаемость.
37 NastyaLanPR 14207 7.12.2017, 9:46
автор: NastyaLanPR
Открытая тема (нет новых ответов) Размножить текст
4 azos 370 2.12.2017, 23:37
автор: Emtec
Открытая тема (нет новых ответов) VKOF — программа для рассылки в предлагаемые новости ВКонтакте
16 L1ke777 4576 28.11.2017, 15:36
автор: L1ke777


 



RSS Текстовая версия Сейчас: 18.12.2017, 15:28
Дизайн