Ошибка Missing argument 2 for

В логах сайта нашёл постоянную ошибку:

PHP Warning: Missing argument 2 for EVPL_Options::child(), called in /home/f/fruit0006/Home/public_html/wp-content/plugins/events-and-places/payment-gateways/paykeeper.php on line 44 and defined in /home/f/fruit0006/Home/public_html/wp-content/plugins/events-and-places/admin/class-options.php on line 36 Invalid argument supplied for foreach() in /home/f/fruit0006/Home/public_html/wp-content/plugins/events-and-places/admin/class-options.php on line 38

paykeeper.php 44 строка:

        function child_options($child){

        $opt = new EVPL_Options();

        $child .= $opt->child(
            array(
                'name'=>'connect_sale',
                'value'=>$this->form_pay_id
            )
        );

        return $child;
    }

class-options.php 36 строчка

    function child($args,$conts){
    $return = '<div class="child-select '.$args['name'].'" id="'.$args['name'].'-'.$args['value'].'">';
    foreach($conts as $content){
        $return .= $content;
    }
    $return .= '</div>';
    return $return;
}

Помогите пожалуйста устранить проблему. Заранее спасибо за помощь.


Ответы (1 шт):

Автор решения: Darth KYL

Метод принимает два аргумента, его вызов происходит с одним аргументом, значит нужно добавить второй аргумент который судя по контексту должен быть контентом в теге

например

function child_options($child){

    $opt = new EVPL_Options();
    $args = [
        'name'=>'connect_sale',
        'value'=>$this->form_pay_id,
    ];
    $conts = [
        'test data',
    ];


    $child .= $opt->child($args, $conts);

    return $child;
}
→ Ссылка