WordPress.org

Make WordPress Core

Opened 4 years ago

Closed 11 months ago

#13661 closed enhancement (fixed)

Support id=>name in fields arg of get_terms()

Reported by: mikeschinkel Owned by: wonderboymusic
Milestone: 3.7 Priority: normal
Severity: normal Version: 3.0
Component: Taxonomy Keywords: has-patch commit
Focuses: Cc:

Description

In trying to use get_terms() I found it didn't support what seemed a common use case; an array where keys were $term->term_id and the values where $term->name.

This patch adds functionailty for a "id=>name" in fields arg of get_terms(). It returns array of term names keyed by the term id.

This path is similar to changeset:12729 by ryan on 2010-Jan-15.

I searched for a similar ticket but didn't find anything recently related.

Attachments (4)

adds-fields=id=>name-to-get_terms().diff (793 bytes) - added by mikeschinkel 4 years ago.
Add support for "id=>name" in "fields" arg of get_terms() function. Returns array of term names keyed by term id.
adds-new-options-to-fields-for-get_terms().diff (1014 bytes) - added by mikeschinkel 4 years ago.
Adds a choice of "id=>name" and "id=>slug" for the "fields" argument passed as the 3rd parameter of get_terms() in /wp-includes/taxonomy.php. This choice makes the returned array from get_terms() contains array keys equal to $term->term_id and arrays values equal to $term->name, and array keys equal to $term->slug and arrays values equal to $term->name, respectively.
13661.diff (2.2 KB) - added by wonderboymusic 11 months ago.
13661.2.diff (3.8 KB) - added by wonderboymusic 11 months ago.

Download all attachments as: .zip

Change History (11)

mikeschinkel4 years ago

Add support for "id=>name" in "fields" arg of get_terms() function. Returns array of term names keyed by term id.

mikeschinkel4 years ago

Adds a choice of "id=>name" and "id=>slug" for the "fields" argument passed as the 3rd parameter of get_terms() in /wp-includes/taxonomy.php. This choice makes the returned array from get_terms() contains array keys equal to $term->term_id and arrays values equal to $term->name, and array keys equal to $term->slug and arrays values equal to $term->name, respectively.

comment:1 mikeschinkel4 years ago

Ugh. Just as soon as I posted this I realize I really also needed slug=>name. New patch attached.

comment:2 kevinB4 years ago

  • Cc kevinB added

comment:3 nacin4 years ago

  • Milestone changed from Awaiting Review to Future Release

wonderboymusic11 months ago

comment:4 wonderboymusic11 months ago

  • Keywords needs-testing added
  • Milestone changed from Future Release to 3.7

Refreshed this patch, was blowing up against trunk

comment:5 wonderboymusic11 months ago

#14448 was marked as a duplicate.

wonderboymusic11 months ago

comment:6 wonderboymusic11 months ago

  • Keywords commit added; needs-testing removed

.2.diff has unit tests

comment:7 wonderboymusic11 months ago

  • Owner set to wonderboymusic
  • Resolution set to fixed
  • Status changed from new to closed

In 25161:

Support id=>name and id=>slug values for fields arg in get_terms(). Adds unit tests.

Props mikeschinkel.

Fixes #13661.

Note: See TracTickets for help on using tickets.