Saya memiliki halaman yang menunjukkan klasemen liga FIFA online, klasemen harus diurutkan berdasarkan Poin dan kemudian Diferensial Gol. Saya mengumpulkan data untuk Menang, Seri, Kalah, Gol Untuk dan Gol lawan. Ini kode saya -


            <?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 );
            ?>

Ini mengurutkan berdasarkan total poin tetapi tidak melakukan apa pun untuk selisih gol. Jika saya mengecualikan _fifa_w (wins) dan _fifa_d (draws) dari kode seperti ini -

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

Kemudian mengurutkan berdasarkan selisih gol dengan benar.

Bagaimana saya bisa membuatnya bekerja bersama-sama?

1
jfc 29 Maret 2020, 22:24

1 menjawab

Jawaban Terbaik

Mencoba:

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

Saya tidak menggunakan Wordpress, tetapi idenya adalah mengurutkan berdasarkan dua kolom pertama secara normal, lalu mengurutkan berdasarkan perbedaan yang dihitung antara tujuan untuk dan tujuan melawan.

Mungkin ide yang bagus untuk tidak mempercayai saya secara membabi buta, tetapi untuk melihat kueri yang diberikan untuk memastikan bahwa Wordpress tidak membungkus ekspresi matematika. Mungkin $wp_query->request akan menunjukkan kepada Anda apa yang sedang dirender.

Jika tidak, selalu ada opsi php usort() pada set hasil Anda.

1
mickmackusa 29 Maret 2020, 20:27