gpt4 book ai didi

wordpress - 我可以为 Wordpress 的 add_action() 的 Action Hook 参数使用变量而不是字符串吗?

转载 作者:行者123 更新时间:2023-12-04 05:18:25 24 4
gpt4 key购买 nike

我需要在 foreach 循环中动态构建多个 add_action() 函数,循环遍历用户可能创建的各种自定义分类法。

操作 Hook 的名称是“category_add_form_fields”,但 Hook 的“类别”部分会随着自定义分类法的每个名称而变化。

示例 1因此,如果插件用户创建了一个名为“Colors”的分类法,则 Hook 将为“colors_add_form_fields”并且 add_action 如下所示:

add_action('colors_add_form_fields', 'myFunction',10,2);

示例 2或者,如果插件用户创建了一个名为“sizes”的分类法,则 Hook 将是“sizes_add_form_fields”,add_action 将是:

add_action('sizes_add_form_fields', 'myFunction',10,2);

因为事先显然无法知道每个用户将命名他们的自定义类别,我使用 foreach 循环将每个类别名称存储为 $customcat,我将其附加到字符串“_add_form_fields”并存储$final 中的结果字符串用于 add_action() 函数

问题是,尽管我尝试了各种方法将这个变量插入到 add_action() 中,但它似乎无法识别它们。

我用谷歌搜索但找不到任何东西,甚至没有人问同样的问题。

有人知道我应该做什么吗?或者,如果根本无法使用变量,有没有其他方法可以使用 PHP 实现我的目标?

这些是我迄今为止尝试过的一些排列...

$final = $customcat . "_add_form_fields"; 
$final = "'" . $customcat . "_add_form_fields'";

add_action( $final, 'my_function', 10, 2);
add_action( "$final", 'my_function', 10, 2);
add_action( strval($final), 'my_function', 10, 2);

最佳答案

使用 $variable 作为钩子(Hook)名称应该没有问题。如果这对您不起作用 - 检查您的 Hook 是否已设置,或者 arg.数字实际上是 2,或者发射序列或除此特定问题之外的任何其他问题..

关于wordpress - 我可以为 Wordpress 的 add_action() 的 Action Hook 参数使用变量而不是字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13738063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com