【问题标题】:Question About Multiple Sorting in Word Press关于wordpress中多重排序的问题
【发布时间】:2020-03-29 19:24:16
【问题描述】:

我有一个显示在线国际足联联赛积分榜的页面,积分榜应按积分排序,然后按进球差排序。我收集胜利、平局、失败、进球数和进球数的数据。这是我的代码 -


            <?php
                $args = array( 
                'post_type' => 'post', 
                'cat' => '5',
                'numberposts' => 12,
                'meta_query'    => array( 
                    'relation' => 'AND',
                    '_fifa_w' => array(
                        'key'       => '_fifa_w',
                    ),
                    '_fifa_d' => array(
                        'key'       => '_fifa_d',
                    ),
                    '_fifa_gf' => array(
                        'key'       => '_fifa_gf',
                    ),
                    '_fifa_ga' => array(
                        'key'       => '_fifa_ga',
                    ),
                ),
            'orderby' => array(
                '_fifa_w'       => 'DESC',
                '_fifa_d'     => 'DESC',
                '_fifa_gf'     => 'ASC',
                '_fifa_ga'     => 'DESC'
                )
            );
                $product_posts = get_posts( $args );
            ?>

这按总分排序,但对目标差异没有任何作用。如果我从这样的代码中排除 _fifa_w (wins) 和 _fifa_d (draws) -

          'orderby' => array(
                '_fifa_gf'     => 'ASC',
                '_fifa_ga'     => 'DESC'
                )
            );

然后按目标差异正确排序。

我怎样才能让它一起工作?

【问题讨论】:

  • 很好,只是一个错字。我编辑了我的帖子,应该改成 _fifa_ga
  • 我不会 WP,所以我会在发布答案之前请您尝试一下...'orderby' =&gt; '_fifa_w _fifa_d _fifa_gf-_fifa_ga', 'order' =&gt; 'DESC'我不知道 WP 是否会尝试将减法引用为单个列。
  • 成功了!谢谢

标签: php arrays wordpress sorting


【解决方案1】:

试试:

'orderby' => '_fifa_w _fifa_d _fifa_gf-_fifa_ga',
'order' => 'DESC'

我不使用 Wordpress,但我的想法是通常按前两列排序,然后根据计算得到的目标和目标之间的差异进行排序。

最好不要盲目相信我,而是观察呈现的查询以确保 Wordpress 不会反引号包装数学表达式。也许$wp_query-&gt;request 会告诉你正在渲染什么。

否则,您的结果集上总会有usort() 的php 选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多