将参数传递给Wordpress中的函数

时间:2014-08-30 15:26:02

标签: wordpress function arguments

我有以下功能:

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

提前致谢。

1 个答案:

答案 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();

?>