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>';
}


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Крупные новостные (СМИ) площадки, Яндекс Новости, Google News, анонсы, хорошая посещаемость.
44 NastyaLanPR 16653 16.5.2018, 9:57
автор: NastyaLanPR
Открытая тема (нет новых ответов) Трафик из Яндекс Новости VS GOOGLE NEWS
8 Alex-777 1647 12.5.2018, 13:12
автор: eduarddis
Открытая тема (нет новых ответов) Новая разработка Google сможет заменить SMS
2 seostock 991 1.5.2018, 1:49
автор: BuxarNET
Открытая тема (нет новых ответов) VDS4YOU.COM – VPS / VDS серверы в России. Новости, акции, скидки.
Качественный и надежный хостинг с очень низкими ценами.
11 vds4you 2350 26.4.2018, 16:02
автор: vds4you
Горячая тема (нет новых ответов) Копирайтинг и рерайт: качественный сео-текст по доступной цене!
323 Sostavitel 96485 24.4.2018, 15:04
автор: Sostavitel


 



RSS Текстовая версия Сейчас: 21.5.2018, 3:44
Дизайн