Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在wordpress中按比率对帖子排序_Php_Wordpress - Fatal编程技术网

Php 在wordpress中按比率对帖子排序

Php 在wordpress中按比率对帖子排序,php,wordpress,Php,Wordpress,我使用WP PostRatings插件对wordpress网站的帖子进行评级,效果很好。我所需要的就是按评级对帖子进行排序。为此,我添加了以下行 query_posts( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); 但它开始显示所有类别中的帖子,而不是仅显示选定类别中的帖子。你能帮帮我吗 <?php if (hav

我使用WP PostRatings插件对wordpress网站的帖子进行评级,效果很好。我所需要的就是按评级对帖子进行排序。为此,我添加了以下行

   query_posts( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
但它开始显示所有类别中的帖子,而不是仅显示选定类别中的帖子。你能帮帮我吗

    <?php if (have_posts()) :

//sort by rate             
query_posts( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );

        while (have_posts()) : the_post();  ?><div class="post">
                        <h3><?php the_title(); ?></h3>
                        <?php 
        if(function_exists('the_ratings')) { the_ratings(); }
        ?>              
                        <p><?php the_content(); ?></p>                      
                        </div>
                        <?php
                        endwhile; 
                        else :
                            echo '<p>No content found.</p>';
                        endif;
                        ?>


您显示了使用Wordpress awesome pre\u get\u posts操作

add_action( 'pre_get_posts', funtion ( $q ) 
    {
            $q->set( 'meta_key', 'ratings_average' );
            $q->set('orderby' => 'meta_value_num');
            $q->set('order' => 'DESC');
    });

您是否在URL中获取当前类别slug?或者任何变量?请添加带有类别的代码,以便我们可以帮助您。永远不要使用
query\u posts
,它会破坏主查询对象和所有页面功能(如您所见;-),而且速度也很慢。使用
pre_get_posts
将主查询正确更改为按自定义字段排序。我在url/category/accountations/hotels/中获得以下内容。我没有类别代码。我只是在菜单中有类别名称,当我点击它时,wordpress会显示所选类别中的所有帖子。皮特,我刚刚使用了pre_get_posts,我得到了致命错误:调用未定义的函数pre_get_posts(),这是正常的类别页面?这会影响所有页面、前端和后端的所有查询,并会在真实页面上导致404个错误;-)