【发布时间】: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' => '_fifa_w _fifa_d _fifa_gf-_fifa_ga', 'order' => 'DESC'我不知道 WP 是否会尝试将减法引用为单个列。 -
成功了!谢谢
标签: php arrays wordpress sorting