Домой Каталог: Дополнения WP-Recall PrimeForum Расположение сообщений в топике
4ответ(ов) в теме
Антон Надеждин
не в сети 8 месяцев
На сайте с 31.01.2017
Участник
Тем 26
Сообщения 83
1
02:10

Как расположить новые сообщения сверху?

0
Вова (Otshelnik-Fm)
не в сети 13 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18647
2
09:52

Такой возможности пока нет

1
Preci
не в сети 10 часов
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1643
3
04:16

add_filter('pfm_pre_get_child_items', 'pfm_query_object_filter');

function pfm_query_object_filter($args) {
				
if(!pfm_is_topic()) return $args;

//Меняем сортировку постов если мы в топике		
$args['order'] = 'DESC';
				
return $args;

}


//закрепляем первый пост и удаляем его дубль
add_action('pfm_init_query', 'pfm_first_post');

function pfm_first_post (){
	
	global $PrimeQuery, $PrimePost;
	
	//Получаем данные первого поста в теме
	$first_post = pfm_get_posts(array(
	'topic_id' => $PrimeQuery->object->topic_id,
	'post_index' => '1'
));
	
	if(!$first_post) return false;
	
	//Удаляем первый пост в теме, что бы он не дублировался
	foreach($PrimeQuery->posts as $key => $value) {
		
		if ($value->post_id == $first_post[0]->post_id) {
			
			unset($PrimeQuery->posts[$key]);
			
			break;
			
		}
		
	}

	//Вставляем первый пост темы вверх на каждой странице
	array_splice($PrimeQuery->posts, 0, 0, $first_post);

}

Вот так работает. Сейчас пишу доп для закрепления постов в теме и на его базе сделал то что просил автор, если я правильно понял.

Редакции сообщения
01.10.2017 04:17PreciПричина: не указано
0
Антон Надеждин
не в сети 8 месяцев
На сайте с 31.01.2017
Участник
Тем 26
Сообщения 83
4
21:41

Работает как надо, что и хотел, спасибо! 🙂

0
Тема закрыта. Публикация новых сообщений запрещена.