深度优化 WordPress:不用查数据库,通过图片链接即可获取图片 ID!

💡 原文中文,约1300字,阅读约需4分钟。
📝

内容提要

WordPress 的 attachment_url_to_postid 函数通过图片链接获取 ID,但会导致大量 SQL 查询,影响性能。可以通过两个过滤器实现内存缓存,优化查询过程。将相关代码添加到主题的 functions.php 中即可使用缓存版本。

🎯

关键要点

  • WordPress 的 attachment_url_to_postid 函数可以通过图片链接获取媒体库中的 ID。

  • 该函数通过数据库查询获取 ID,可能导致大量 SQL 查询,影响性能。

  • 使用内存缓存可以优化查询过程,减少 SQL 查询数量。

  • attachment_url_to_postid 函数提供了两个过滤器用于实现缓存。

  • 第一个过滤器 pre_attachment_url_to_postid 在数据库查询前检查缓存。

  • 第二个过滤器 attachment_url_to_postid 在获取 ID 后将其存入缓存。

  • 将相关代码添加到主题的 functions.php 中即可使用缓存版本。

  • 作者还提供了一个 WordPress 深度优化插件,包含该功能。

延伸问答

如何通过图片链接获取 WordPress 媒体库中的 ID?

可以使用 WordPress 的 attachment_url_to_postid 函数,通过图片链接获取对应的 ID。

attachment_url_to_postid 函数的缺点是什么?

该函数直接通过数据库查询获取 ID,可能导致大量 SQL 查询,影响性能。

如何优化 attachment_url_to_postid 函数的性能?

可以通过内存缓存来优化,使用两个过滤器来减少 SQL 查询数量。

使用内存缓存需要添加哪些代码?

需要将两个过滤器的代码添加到主题的 functions.php 文件中。

attachment_url_to_postid 函数提供了哪些过滤器?

该函数提供了 pre_attachment_url_to_postid 和 attachment_url_to_postid 两个过滤器用于实现缓存。

是否有现成的插件可以优化 WordPress 性能?

有,作者提供了一个 WordPress 深度优化插件,包含了该功能。

➡️

继续阅读