我有一个从 URL 获取参数并进行进一步处理的简码。我有另一个短代码也需要相同类型的 URL 参数处理。我想与这两个函数共享 URL 参数处理代码。这是如何在短代码中完成的?
这似乎是一个伪示例,但并不完整: http ://www.sitepoint.com/wordpress-nested-shortcodes/ 。他似乎在页面中执行嵌套的短代码语法。我宁愿将嵌套保留在 PHP 中,因为使用简码语法在页面中进行嵌套对我来说没有太大优势。
您可以从另一个简码的 PHP 中调用一个简码的 PHP 代码。
因此,例如获取传递到您的简码中的 URL,针对该简码进行所需的处理,然后根据需要调用/使用其他简码后面的函数。
您的 PHP 简码功能可用于您的所有其他 PHP 代码(包括任何其他简码),就像您的 functions.php 文件中的其他功能一样。
您可以通过 WP 简码 API 的函数在 PHP 中模拟简码嵌套do_shortcode()
,将一些“内容”传递给它,例如"[yourshortcode your_attr='your value' ... ]some content[/yourshortcode]"
. 这样,您可以确保您的 yourshortcode 的执行方式与实际包含在内容中的方式相同。
或者,如果两者都使用一个短代码中的某些特定功能,那么也许这些功能应该放在一个共享文件中,例如functions.php?
但是,如果短代码不是同一个插件或主题的一部分,那么您可能还想看看is_plugin_active()
哪个允许您编写代码,以便您的依赖短代码可以优雅地处理不存在依赖关系的情况。
但请注意,这些都不是真正的“短代码嵌套”,至少在 WP codex在这里定义它的方式上。您链接的示例是。