From ebf49f1ec1c6d2e0e7bbdb7bda69650574436b1c Mon Sep 17 00:00:00 2001 From: Adrian Short Date: Mon, 27 Apr 2015 21:18:49 +0100 Subject: [PATCH] Unravel getting name of first tax item --- includes/sites.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/includes/sites.php b/includes/sites.php index aebb015..ab54466 100644 --- a/includes/sites.php +++ b/includes/sites.php @@ -36,10 +36,10 @@ if ( $query->have_posts() ) : 'radius_miles' => (float)$meta['distance_covered_miles'][0], 'area_covered' => html_entity_decode( $meta['area_covered'][0] ), 'body' => get_the_content(), - 'country' => html_entity_decode( array_values(get_the_terms( get_the_ID(), 'countries' ))[0]->name ), - 'council' => html_entity_decode( array_values(get_the_terms( get_the_ID(), 'councils' ))[0]->name ), - 'platform' => html_entity_decode( array_values(get_the_terms( get_the_ID(), 'platforms' ))[0]->name ), - 'group' => html_entity_decode( array_values(get_the_terms( get_the_ID(), 'groups' ))[0]->name ) + 'country' => tax_first_name( get_the_ID(), 'countries' ), + 'council' => tax_first_name( get_the_ID(), 'councils' ), + 'platform' => tax_first_name( get_the_ID(), 'platforms' ), + 'group' => tax_first_name( get_the_ID(), 'groups' ) ); $sites[]= $row; @@ -78,3 +78,12 @@ if ( $_GET['format'] == 'csv' ) { header( "Content-Type: application/json" ); echo json_encode( $sites ); } + +// Get the name of the first taxonomy term for a given post +function tax_first_name( $id, $tax_name ) { + $terms = get_the_terms( $id, $tax_name ); + $first_term = array_slice( $terms, 0, 1 ); + $bare_term = array_shift( $first_term ); + $name = $bare_term->name; + return( html_entity_decode( $name ) ); +}