Introduced $field argument to get_term_link().

This new argument allows developers to specify which term field should be
matched by the value of the `$term` parameter (in particular, 'name' and
'term_taxonomy_id' are now supported).

Props sudar, mordauk.
Fixes #14156.
Built from https://develop.svn.wordpress.org/trunk@32553


git-svn-id: http://core.svn.wordpress.org/trunk@32523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Boone Gorges 2015-05-23 18:29:26 +00:00
parent 0fa7bf9cb4
commit 10dd80cc61
2 changed files with 11 additions and 6 deletions

View File

@ -4381,20 +4381,25 @@ function wp_get_split_term( $old_term_id, $taxonomy ) {
* Generate a permalink for a taxonomy term archive.
*
* @since 2.5.0
* @since 4.3.0 Introduced `$field` argument.
*
* @param object|int|string $term The term object, ID, or slug whose link will be retrieved.
* @param string $taxonomy Optional. Taxonomy. Default empty.
* @param string $field Optional. The term field that should be matched by the `$term` argument. Accepts
* any `$field` values accepted by `get_term_by()`: 'slug', 'name',
* 'term_taxonomy_id', or 'id'. Default is 'slug', unless `$term` is an integer, in
* which case it's asssumed to be an ID.
* @return string|WP_Error HTML link to taxonomy term archive on success, WP_Error if term does not exist.
*/
function get_term_link( $term, $taxonomy = '' ) {
function get_term_link( $term, $taxonomy = '', $field = null ) {
global $wp_rewrite;
if ( !is_object($term) ) {
if ( is_int($term) ) {
$term = get_term($term, $taxonomy);
} else {
$term = get_term_by('slug', $term, $taxonomy);
if ( is_null( $field ) ) {
$field = is_int( $term ) ? 'id' : 'slug';
}
$term = get_term_by( $field, $term, $taxonomy );
}
if ( !is_object($term) )

View File

@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '4.3-alpha-32552';
$wp_version = '4.3-alpha-32553';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.