Это правильно сортирует сообщения по голосованию ( плагин звездного рейтинга GD ):
<?php query_posts('gdsr_sort=thumbs&post_type=bbp_reply&posts_per_page=2&post_parent='.$post->ID); ?>
<?php while ( have_posts() ) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
Но это их вообще не сортирует:
<?php $custom_posts = new WP_Query(); ?>
<?php $custom_posts->query('gdsr_sort=thumbs&post_type=bbp_reply&posts_per_page=2&post_parent='.$post->ID); ?>
<?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
<div class="content-block-2">
<?php bbp_reply_author_link( array( 'type' => 'avatar' ) ); ?>
<?php bbp_reply_author_link( array( 'type' => 'name' ) ); ?>
<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a>
<?php the_content(); ?>
</div>
<?php endwhile; ?>
Кажется, GD Star Rating использует
get_query_var()
для чтения переменные запроса, которые считывают только эту глобальную$wp_query
переменную.query_posts()
перезаписывает глобальную$wp_query
переменную, поэтому там она работает, но создание новойWP_Query
(что является хорошей практикой) не сработает. Вы должны связаться с автором плагина и попросить исправить.Все еще не исправлено в последней версии 1.9.10. Спасибо за информацию, Ян.
Я жестко запрограммировал параметры получения, чтобы они всегда сортировались, возможно, это поможет кому-то еще: add_action(«init», «MuviceInit»,1); function MuviceInit() { глобальный $ muvice; $_GET[«gdsr_sort»]=’большие пальцы’; $_GET[«gdsr_order»]=’desc’; $muvice = новый Muvice(); }
Совет Силвика работает для меня. Просто установите параметры GET перед использованием WP_Query.