We just launched a new site for Campus Outreach Indianapolis. Check it out, www.coindy.org.
wordpress
Sorting Data from Custom Fields in WordPress
With the redesign of the Ei Site, we wanted to take advantage of certain features native to WordPress, one of which was Custom Fields.
Having a custom web design based on the needs of your particular business and customers optimizes conversion rates of site visitors, a key aspect of growing your business and brand presence online
We wanted a simple way to display our client list using Custom Fields. Using built-in WordPress functions, it is pretty simple to pull information from Custom Fields. With Custom Field structure like this:
Name: client
Value: Name|Work_Done|Description|URL
You can use the get_post_meta() function to loop through all of the ‘client’ fields and pull the value for each and display to your page.
ORIGINAL CODE:
<?php $allOptions = get_post_meta($post->ID, 'client', false); if($allOptions) { foreach ($allOptions as $option) { $fullValue = explode ("|", $option); $name = $fullValue[0]; $work = $fullValue[1]; $text = $fullValue[2]; $url = $fullValue[3]; } } ?>
The problem comes if you want to control the way the output is displayed. The get_post_meta() function does not provide a SORT property. So in order to control the order of display, we simply added an additional component to the VALUE field, a ‘sort order’.
Name: client
Value: Sort|Name|Work_Done|Description|URL
Rather than just display the information in the initial foreach() loop, we stored the data into a new array, based on the SORT item for use later.
NEW CODE:
<?php $client_array = array(); $allOptions = get_post_meta($post->ID, 'client', false); if($allOptions) { foreach ($allOptions as $option) { $fullValue = explode ("|", $option); $order = $fullValue[0]; $client_array[$order] = $option; } } rsort($client_array, SORT_NUMERIC); ?>
With the data now stored in an sorted array, we can now loop through the new array and display the information in any order we want.