我有以下功能:
public function id_callback($idnumber){}
我这样说:
for($i = 1; $i <= $fieldcount; $i++)
{
add_settings_field(
'id' . $i,
'ID' . $i,
array( $this, 'id_callback' ),
'my-setting-admin',
'setting_section_id'
);
}
如何将$i
作为参数传递给id_callback
?
提前致谢。
答案 0 :(得分:0)
您的代码有点抽象,因为它没有特定的上下文,但我会尽力帮助您。您基本上必须创建一个变量和一个设置该变量的方法。然后你应该使用该方法来改变for循环中的变量。以下是我正在谈论的一个简单示例(我已经创建了一个复制简单用例的示例类):
<?php
class Example_Callback {
public $id_callback;
public function set_id_callback($id_callback) {
$this->id_callback = $id_callback;
}
public function do_something() {
// here is your $i:
$callback_id = $this->id_callback;
// here you can do something with your $callback_id
}
public function test() {
$fieldcount = 5; // usually this should come from somewhere
for($i = 1; $i <= $fieldcount; $i++) {
$this->set_id_callback($i);
add_settings_field(
'id' . $i,
'ID' . $i,
array( $this, 'do_something' ),
'my-setting-admin',
'setting_section_id'
);
}
}
}
$callback = new Example_Callback();
$callback->test();
?>