4ответ(ов) в теме
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:17Причина: не указано
Тема закрыта. Публикация новых сообщений запрещена.