Changeset 5616 for trunk/wp-includes/post.php
- Timestamp:
- 05/31/2007 09:38:33 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/post.php
r5598 r5616 1665 1665 unset( $post_meta_cache[$blog_id][$id] ); 1666 1666 1667 if ( isset( $post_term_cache[$blog_id][$id]) ) 1668 unset ( $post_term_cache[$blog_id][$id] ); 1667 clean_object_term_cache($id, 'post'); 1669 1668 } 1670 1669 … … 1690 1689 wp_cache_delete( 'all_page_ids', 'pages' ); 1691 1690 wp_cache_delete( 'get_pages', 'page' ); 1692 }1693 1694 function &get_post_term_cache($id, $taxonomy) {1695 global $post_term_cache, $blog_id;1696 1697 if ( isset($post_term_cache[$blog_id][$id][$taxonomy]) )1698 return $post_term_cache[$blog_id][$id][$taxonomy];1699 1700 return false;1701 }1702 1703 // TODO abstract this to work for any object.1704 function update_post_term_cache($post_ids) {1705 global $wpdb, $post_term_cache, $blog_id;1706 1707 if ( empty($post_ids) )1708 return;1709 1710 if ( is_array($post_ids) )1711 $post_id_list = implode(',', $post_ids);1712 1713 $post_id_array = (array) explode(',', $post_ids);1714 $count = count( $post_id_array);1715 for ( $i = 0; $i < $count; $i++ ) {1716 $post_id = (int) $post_id_array[ $i ];1717 if ( isset( $post_term_cache[$blog_id][$post_id] ) ) {1718 unset( $post_id_array[ $i ] );1719 continue;1720 }1721 }1722 if ( count( $post_id_array ) == 0 )1723 return;1724 1725 $terms = get_object_terms($post_id_array, array('category', 'post_tag'), 'fields=all_with_object_id');1726 1727 if ( empty($terms) )1728 return;1729 1730 foreach ( $terms as $term )1731 $post_term_cache[$blog_id][$term->object_id][$term->taxonomy][$term->term_id] = $term;1732 1733 foreach ( $post_id_array as $id ) {1734 if ( ! isset($post_term_cache[$blog_id][$id]) ) {1735 $post_term_cache[$blog_id][$id]['category'] = array();1736 $post_term_cache[$blog_id][$id]['post_tag'] = array();1737 }1738 }1739 1691 } 1740 1692 … … 1755 1707 $post_id_list = implode(',', $post_id_array); 1756 1708 1757 update_ post_term_cache($post_id_list);1709 update_object_term_cache($post_id_list, 'post'); 1758 1710 1759 1711 update_postmeta_cache($post_id_list);
Note: See TracChangeset
for help on using the changeset viewer.