Şimbi bu Good LMS eklentisinden devşirilmiş galiba. get_post_meta(get_t he_ID(), 'gdlr-soccer-player-settings', true bu gdlr-soccer-player-settings meta etiketine sahip içeriği çağırıyor. Veritabanına JSON ile kaydedilenler ise havuz gibi kaydedilir. Herşey bir sütunda karışık depolanır. Sen onu içinden çekersin. İlk önce JSON içeriği decode edilmeli.
Mesela şöyle bir json dizisi var:
$ligpuani = '{"fener":20,"galatasaray":82,"besiktas":455}';
Bunu decode etmesi böyle:
$sonuc = json_decode($ligpuani);
echo $sonuc->{'besiktas'}; dedinmi 455 yazdırır. Çağırılması böyle. Birde bunun hata çıktısını gösteren fonksiyon var json_error_xxx diye tam hatırlayamadım. Çekilen stringin var olup olmadığını da oradan kontrol ettirebiliyorsun.
JSONu decode edip doğru şeyi çektirdiysen sıralaması 'orderby' => 'meta_value_num'; ile yapılıyor. Ama sonuç sayısal değer döndürmesi lazım. İlk önce sen $player_val değişkenini bir okut. var_dump ile kontrol et. Array dönüyorsa JSON'dan doğru içerik çekilmiyordur. Net sayısal değer döndürmesi lazım. Bunlar hiç karışık değil ama ben anlatınca karışık oluyor.
https://core.trac.wordpress.org/browser/tags/5.0/src/wp-includes/compat.php#L298
Sen buraya da bak. JSON hata çıktısını gösteren fonksyonun da örneği var:
$last_error_code = json_last_error(); diye başlayan 378. satır.