SnaIP
@SnaIP
Front-end разработчик

Как лучше сделать ajax подгрузку ленты друзей?

Как лучше реализовать ajax подгрузку? В данный момент цикл проходится по всем id друзей, и по каждому id get_posts запрашивает по 5 публикаций (т.е. если у меня 10 друзей и у каждого друга 10 постов, он выведет 5*10 = 50 постов)надо чтобы он всего запрашивал 5 публикаций из всех друзей и выводил их, придется все переделывать?

if($_GET['lang'] == 'ru' || $_GET['lang'] == '') {
		for ($i = 0; $i < count($id_friends); $i++) {
			/* Получить посты по автору */
			$args = array(
				'author' => $id_friends[$i],
//				'meta_key' => 'rating-key',
				'orderby' => 'post_date',
				'offset' => 0,
				'numberposts' => 5
//				'order' => 'DESC'
			);

			$context['posts'] = get_posts($args);
			$arr_length = $context['posts'];

//			var_dump($context['posts']);

			//		array_push($context['posts'], $array_posts);

			foreach ($context['posts'] as $author) {
				$author->views = get_post_meta($author->ID, 'viev');
				$author->views = $author->views[0];
				$author->post_content = get_post_meta($author->ID, 'anons_66'); // поле анонс записи
				$author->post_content = $author->post_content[0];

				$author->like = count($wpdb->get_results("SELECT * FROM `wp_ratings` WHERE `rating_postid` = {$author->ID}")); // кол-во лайков
				$author->rating = $author->like * 100 + (int)$author->views; // рейтинг поста
				$author->amount += $author->rating;

				$author->category = get_the_category($author->ID);

				$html .= '<li class="item">
								<div class="caption">
									<a href="' . $author->guid . '?lang=ru&pages=1">' . $author->post_title . '</a>
								</div>
								<div class="introtext">'
					. $author->post_content .
					'</div>
								<div class="b-favorites">
									<div class="icon"></div>
									<span title="Количество пользователей, добавивших в избранное">' . $author->rating . '</span>
								</div>
								<div class="b-category">
									Категория: ' . $author->category[0]->cat_name . '
								</div>
								<div class="b-views">
									<div class="icon"></div>
									<span title="Просмотры">' . $author->views . ' просмотра</span>
								</div>
								<div class="b-likes">
									<div class="icon"></div>
									<span title="Нравится">' . $author->like . '</span>
								</div>
								<div class="b-date">
									Дата добавления: ' . $author->post_date . '
								</div>
								';
			}
		}
  • Вопрос задан
  • 235 просмотров
Решения вопроса 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
я бы для начала проверял на isset($_GET['lang']).
Потом выберите все посты с сортировкой по дате, в ID автора возмите массив ID и через IN
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@NataliaCh
А какие критерии отбора этих пяти публикаций?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы