我真的不明白你想做什么。为什么不直接调用shortcode处理程序中的函数呢?这看起来更像一般的PHP问题。
假设我们的functions.php
或者无论您在哪里定义短代码:
$another_var = doSomeFunctionThatReturnsData();
使用现代匿名函数,可以使用
use
关键字。
add_shortcode(\'operation\', function (array $atts, ?string $content, string $shortcode_tag) use ($another_var): string {
$out = \'The value of my variable is: \' . $another_var;
return $out;
});
使用古老的命名函数作为回调,您可以通过使用
global
关键词:
function shortcode_operation_handler(array $atts, ?string $content, string $shortcode_tag): string {
global $another_var;
$out = \'The value of my variable is: \' . $another_var;
return $out;
}
add_shortcode(\'operation\', \'shortcode_operation_handler\');
变量名称前的这些单词是参数的类型(更多关于
in the PHP documentation). 分号后的类型(
:
) 在函数定义中表示
its return type.
... or you can simply call the function inside your shortcode handler.