wp_queue_posts_for_term_meta_lazyload

函数
wp_queue_posts_for_term_meta_lazyload ( $posts )
参数
  • (WP_Post[]) $posts Array of WP_Post objects.
    Required:
定义位置
相关方法
wp_queue_comments_for_comment_meta_lazyloadwp_enqueue_stored_styleswp_nav_menu_post_type_meta_boxeswp_nav_menu_item_post_type_meta_boxpost_format_meta_box
引入
4.5.0
弃用
-

wp_queue_posts_for_term_meta_lazyload: 这个函数用于排队等待术语元数据的加载。它通过只在需要时加载术语元数据来提高网站的性能。

为懒惰地加载术语元而排队发帖。

function wp_queue_posts_for_term_meta_lazyload( $posts ) {
	$post_type_taxonomies = array();
	$term_ids             = array();
	foreach ( $posts as $post ) {
		if ( ! ( $post instanceof WP_Post ) ) {
			continue;
		}

		if ( ! isset( $post_type_taxonomies[ $post->post_type ] ) ) {
			$post_type_taxonomies[ $post->post_type ] = get_object_taxonomies( $post->post_type );
		}

		foreach ( $post_type_taxonomies[ $post->post_type ] as $taxonomy ) {
			// Term cache should already be primed by `update_post_term_cache()`.
			$terms = get_object_term_cache( $post->ID, $taxonomy );
			if ( false !== $terms ) {
				foreach ( $terms as $term ) {
					if ( ! in_array( $term->term_id, $term_ids, true ) ) {
						$term_ids[] = $term->term_id;
					}
				}
			}
		}
	}

	if ( $term_ids ) {
		$lazyloader = wp_metadata_lazyloader();
		$lazyloader->queue_objects( 'term', $term_ids );
	}
}

常见问题

FAQs
查看更多 >