增强 WordPress Shortcode 检测和判断能力,实现 doing_shortcode() 和 current_shortcode() 函数

💡 原文中文,约2500字,阅读约需6分钟。
📝

内容提要

WordPress 的简码功能允许用户通过短代码添加内容,但缺乏追踪当前执行的过滤器的函数。建议实现 current_shortcode() 和 doing_shortcode($tag) 函数,以判断当前处理的简码。通过创建全局数组存储正在处理的简码,可以有效管理其执行状态。

🎯

关键要点

  • WordPress 的简码功能允许用户通过短代码添加内容,使用简单且功能强大。
  • 当前简码功能缺乏追踪正在执行的简码的函数,建议实现 current_shortcode() 和 doing_shortcode($tag) 函数。
  • current_filter() 和 doing_filter() 函数用于检测当前执行的 Hook,类似的功能也需要在简码处理中实现。
  • 通过 doing_filter() 可以判断当前是否在处理摘要,避免重复调用生成目录的代码。
  • 在处理简码时,可能需要判断当前是否需要执行某些功能,例如密码保护。
  • 可以通过创建全局数组来存储正在处理的简码,利用 pre_do_shortcode_tag 和 do_shortcode_tag 过滤器来管理简码的执行状态。
  • WPJAM Basic 插件中已经整合了 current_shortcode() 和 doing_shortcode() 函数,用户可以直接使用或参考实现类似功能。
➡️

继续阅读