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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


здравствуйте, есть код (приведен ниже), он для вывода последних комментариев. как в нем заменить текст самого комментария на название новости в которой лежит комментарий? спасибо.
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
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 2)
serkaz
serkaz
сообщение 15.8.2012, 2:48; Ответить: serkaz
Сообщение #2


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) SEO-текст на главной странице сайта и в категориях
5 boltuk 1425 26.3.2024, 21:43
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Можно ли в старый SEO текст вместо старого домена поставить новый?
3 Tutich 1212 22.3.2024, 14:47
автор: Tutich
Горячая тема (нет новых ответов) Крупные новостные (СМИ) площадки, Яндекс Новости, Google News, анонсы, хорошая посещаемость.
84 NastyaLanPR 57955 23.6.2022, 14:35
автор: VIMstat
Горячая тема (нет новых ответов) Текст для сайта на английском языке
33 D007user 18044 26.1.2022, 17:16
автор: D007
Горячая тема (нет новых ответов) Копирайтинг и рерайт: качественный сео-текст по доступной цене!
374 Sostavitel 196967 18.1.2022, 23:46
автор: Sostavitel


 



RSS Текстовая версия Сейчас: 19.4.2024, 4:31
Дизайн