Reply To: Iterating through unique

Author Replies
traversal # Posted on August 1, 2014 at 11:05 am

Hey there. Certainly using the value method is the right way to go, as using the “field” method returns you an object, which will indeed always be unique.

There is one alternative way to do this however.

Assuming your store was a post type, and that your field set was called “address”, try something like this:
https://gist.github.com/traversal/2c30d1bc5e74577c4c83

The $wf->stores call will give you a collection of store posts, which I’ve ordered by title ascending. You can then call WOOF_Collection::group_by passing in “address.city” to indicate the field “city” in field set “address”, to group by that field.

group_by returns an associative array with:
* keys of unique string values corresponding to the unique cities.
* values being collections of posts with that city value.

So you’re outer loop then displays the cities, and has an inner loop which loops over the stores for that city.

This is more concise, but certainly less obvious than your approach (which is perfectly valid too!).

Latest From the Blog

MasterPress 1.4.1 is now available

27th May 2024

This update addresses backwards compatibility issues that were introduced in the previous update. There were some edge cases where PHP 7 had issues and it didn’t work at all on PHP 5.6. We have now changed it so that the PHP 8 compatibility changes will now only affect PHP 8 and will be more thorough… 

Plugin Requirements

MasterPress requires a minimum of WordPress version 4.9, MySQL 5.6, and PHP version 5.6.20.

We also recommend that PHP is configured to use a memory limit of 64MB per request (128MB may be required for sites with higher complexity).

This plug-in is not compatible with the WordPress.com hosted service.

Three AM