WordPress 教程:批量设置分类信息的时候使用 wp_defer_term_counting 来提高效率

2023-04-14 11:23:30 浏览数 (2)

如果我们批量给一些文章设置某个分类的时候,WordPress 都会执行 wp_update_term_count_now 函数来计算分类的使用数,这个函数会产生 3 条 SQL,如果给 20 篇文章设置分类的话,那么就会产生 60 条 SQL,所以在批量设置的时候经常产生大量的 SQL 请求,会造成数据库连接数过多。

这个时候我们可以使用 wp_defer_term_counting 函数来提高批量设置分类信息的效率,这个函数可以让我们批量操作完成之后,再进行分类使用数量统计,比如我做的图片集插件,批量给图片设置分类的时候,我就是使用这个方法提高效率的。

代码语言:javascript复制
// 先不统计分类使用数
wp_defer_term_counting(true);

foreach($post_ids as $post_id){
	$result	= wp_set_post_terms($post_id, $collection_ids, 'collection', true);

	if(is_wp_error($result)){
		return $result;
	}
}

// 全部图片设置完分类在统计分类使用数
wp_defer_term_counting(false);

0 人点赞