Don't allow passing slugs to get_tag_link() and get_category_link(); they are too ambiguous. Restore WP_Error return to get_term_link(). fixes #16521 for trunk
git-svn-id: https://develop.svn.wordpress.org/trunk@17443 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
db54fd77fe
commit
a57952b5c9
@ -12,11 +12,19 @@
|
|||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
* @see get_term_link()
|
* @see get_term_link()
|
||||||
*
|
*
|
||||||
* @param int $category Category ID, object, or slug.
|
* @param int|object $category Category ID or object.
|
||||||
* @return string Link on success, empty string if category does not exist.
|
* @return string Link on success, empty string if category does not exist.
|
||||||
*/
|
*/
|
||||||
function get_category_link( $category ) {
|
function get_category_link( $category ) {
|
||||||
return get_term_link( $category, 'category' );
|
if ( ! is_object( $category ) )
|
||||||
|
$category = (int) $category;
|
||||||
|
|
||||||
|
$category = get_term_link( $category, 'category' );
|
||||||
|
|
||||||
|
if ( is_wp_error( $category ) )
|
||||||
|
return '';
|
||||||
|
|
||||||
|
return $category;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -964,11 +972,19 @@ class Walker_CategoryDropdown extends Walker {
|
|||||||
* @since 2.3.0
|
* @since 2.3.0
|
||||||
* @see get_term_link()
|
* @see get_term_link()
|
||||||
*
|
*
|
||||||
* @param object|string|int $tag Tag ID, object, or slug.
|
* @param int|object $tag Tag ID or object.
|
||||||
* @return string Link on success, empty string if tag does not exist.
|
* @return string Link on success, empty string if tag does not exist.
|
||||||
*/
|
*/
|
||||||
function get_tag_link( $tag ) {
|
function get_tag_link( $tag ) {
|
||||||
return get_term_link( $tag, 'post_tag' );
|
if ( ! is_object( $tag ) )
|
||||||
|
$tag = (int) $tag;
|
||||||
|
|
||||||
|
$tag = get_term_link( $tag, 'post_tag' );
|
||||||
|
|
||||||
|
if ( is_wp_error( $tag ) )
|
||||||
|
return '';
|
||||||
|
|
||||||
|
return $tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2815,7 +2815,7 @@ function _update_post_term_count( $terms, $taxonomy ) {
|
|||||||
*
|
*
|
||||||
* @param object|int|string $term
|
* @param object|int|string $term
|
||||||
* @param string $taxonomy (optional if $term is object)
|
* @param string $taxonomy (optional if $term is object)
|
||||||
* @return string HTML link to taxonomy term archive on success, empty string if term does not exist.
|
* @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 = '') {
|
||||||
global $wp_rewrite;
|
global $wp_rewrite;
|
||||||
@ -2832,7 +2832,7 @@ function get_term_link( $term, $taxonomy = '') {
|
|||||||
$term = new WP_Error('invalid_term', __('Empty Term'));
|
$term = new WP_Error('invalid_term', __('Empty Term'));
|
||||||
|
|
||||||
if ( is_wp_error( $term ) )
|
if ( is_wp_error( $term ) )
|
||||||
return '';
|
return $term;
|
||||||
|
|
||||||
$taxonomy = $term->taxonomy;
|
$taxonomy = $term->taxonomy;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user