Populate post term relationship cache in get_the_terms(). Restores caching lost when we moved away from get_the_category(). see #15407

git-svn-id: http://svn.automattic.com/wordpress/trunk@16487 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2010-11-19 17:09:21 +00:00
parent 8ab7aafec4
commit 0b37bd0b6d
2 changed files with 6 additions and 2 deletions

View File

@ -168,8 +168,10 @@ function redirect_canonical($requested_url=null, $do_redirect=true) {
if ( ! empty($tax_url['query']) ) { // Custom taxonomies may only be accessable via ?taxonomy=..&term=..
parse_str($tax_url['query'], $query_vars);
$redirect['query'] = add_query_arg($query_vars, $redirect['query']);
error_log('ugly redir');
} else { // Taxonomy is accessable via a "pretty-URL"
$redirect['path'] = $tax_url['path'];
error_log('pretty redir');
}
}
} elseif ( is_single() && strpos($wp_rewrite->permalink_structure, '%category%') !== false ) {

View File

@ -1066,9 +1066,11 @@ function get_the_terms( $id = 0, $taxonomy ) {
}
$terms = get_object_term_cache( $id, $taxonomy );
if ( false === $terms )
if ( false === $terms ) {
$terms = wp_get_object_terms( $id, $taxonomy );
wp_cache_add($id, $terms, $taxonomy . '_relationships');
}
$terms = apply_filters( 'get_the_terms', $terms, $id, $taxonomy );
if ( empty( $terms ) )