我正在开发一个功能集,该功能集将为网站上的每个自定义帖子类型添加一篇文章。因为我不知道注册了哪些CPT,所以我编写了一个函数来获取它们(很简单)。然而,我现在需要为数组中的每个值创建一个函数(一个小的设置页面),以正确完成此操作。
以下是我的阵列示例:
$types = array (\'type_a\', \'type_b\', \'type_c\');
所以我基本上想生成一个函数
type_a_page
,
type_b_page
, etc在同一整体类中。
UPDATE
我意识到这段代码只是一小部分,并没有解释我为什么要实现这一点。下面是完整的代码库
https://gist.github.com/4687698
最合适的回答,由SO网友:James Thompson 整理而成
是否可以使用\\uu调用PHP类功能?
http://www.php.net/manual/en/language.oop5.overloading.php#object.call
您可以在类中使用\\uu call并调用函数来获取页面类型,并根据$name(first)参数检查它们,并对其运行自定义代码。
例如:
__call ($name, $args) {
$types = array (\'type_a\', \'type_b\', \'type_c\');
if (in_array($name, $types) {
// custom code
}
}
更新:对gist的回应。
因此,在类中使用\\uu call作为方法,在要点的第90行,您可以使用:
$this->$slug();