Я уже некоторое время пользуюсь ACF и подумал, что это будет проще, но не могу понять, как это сделать правильно …
Я пытаюсь создать какой-нибудь трофейный кабинет. Таким образом, каждая компания имеет баллы, которые хранятся в ACF под названием «company_score».
Например, у нас есть компании под названием Microsoft, Facebook и Twitter. У них всех есть оценка:
Таким образом, топ 3 будет как
Я знаю, как отобразить значение ACF, но как сравнить все результаты, которые хранятся, и когда у компании будет лучший результат, она получит золотую медаль. Когда у компании будет второй лучший результат, она получит серебряную медаль и так далее.
Я все понял это в моей голове, но немного застрял здесь, как это сделать.
Там может быть несколько подходов, чтобы справиться с этим. Первое, что приходит мне в голову, очень просто.
Попробуйте эти шаги:
Надеюсь, вы немного разбираетесь в коде, но вот кодированные рекомендации …
<?php
$fields = get_fields();
$company_details = array();
if( $fields ):
foreach( $fields as $name => $value ):
$company_details[ $name ] = $value;
endforeach;
endif;
//to sort by company score
arsort( $company_details );
//loop through the array and display results, like
foreach( $company_details as $name => $value):
echo "Company name is: " .$name. ". Company Score: " . $value;
endforeach;
PS: Код не тестировался, потому что целью было поделиться с вами логикой. Поэтому игнорируйте, если есть какая-либо ошибка.
Других решений пока нет …