3

我在我的 Wordpress 安装中使用了 GD Star Rating 插件,用于创建 2 组不同的评级(帖子和视频)。(我找不到任何其他支持此功能的插件)。

我在一个 wp_query 中使用了以下参数来显示评分最高的视频列表,并且工作正常。

$args=array(
    'post_type' => 'youtube_videos',
    'post_status' => 'publish',
    'posts_per_page' => 10,
    'gdsr_sort' => 'rating',
    'gdsr_multi' => 3
);

在同一页面上,我试图显示评价最高的帖子列表,在 wp_query 中有以下参数,但它不起作用。

$args=array(
    'posts_per_page' => 4,
    'post_type' => 'post',
    'gdsr_sort' => 'rating',
    'gdsr_multi' => 0
);

我发现问题在于“gdsr_multi”变量中的值传递,如果我从评分最高的视频中删除此变量,则代码的第二部分工作正常。

我不能同时运行两者,请问有什么建议吗?


对于gdsr_multiGD Star 评级插件的可变文档说:

  • 对于标准评级数据,请勿使用此变量,或将其设置为零。
  • 要获得多评分数据,必须将此变量设置为多集 id 才能使用。
4

1 回答 1

0

您应该在开始新的查询之前重置您的查询。wp_reset_query();将破坏在自定义循环上使用的先前查询。此函数应在循环之后调用,以确保条件标签按预期工作。例如:

<?php
    query_posts( 'post_parent=5' );
    if ( have_posts() ) :
       while ( have_posts() ) : the_post();
       ?><a href="<?php the_permalink() ?>"><?php the_title() ?></a><br /><?php
       endwhile;
    endif;
    wp_reset_query();
   //your second query will be here.
?>

更多详情可以查看Wordpress官方codex:wp reset query

于 2013-03-21T07:32:04.447 回答