2017-06-07 10 views
0

このクラスのクラスメソッドpreview_handler()を子クラスで作成することができるかどうかを正しくオーバーライドする方法はありますか?Wordpressのクラスメソッドを正しくオーバーライドする方法は?

class WP_some_class { 

public function __construct() { 
add_action('wp', array($this, 'process')); 

$this->steps = (array) apply_filters('submit_job_steps', array(
    'submit' => array(
     'name'  => __('Submit Details', 'wp-job-manager'), 
     'view'  => array($this, 'submit'), 
     'handler' => array($this, 'submit_handler'), 
     'priority' => 10 
     ), 
    'preview' => array(
     'name'  => __('Preview', 'wp-job-manager'), 
     'view'  => array($this, 'preview'), 
     'handler' => array($this, 'preview_handler'), 
     'priority' => 20 
    ), 
    'done' => array(
     'name'  => __('Done', 'wp-job-manager'), 
     'view'  => array($this, 'done'), 
     'priority' => 30 
    ) 
)); 

public function preview_handler() { 
    // .. some code 
} 

} 

答えて

0

クラスを拡張することができます。

元のクラスと同じメソッドパラメータ(この場合は、同じもの)を使用する必要があることに注意してください。 PHP documentationから

[...]あなたがクラスを拡張する場合、サブクラスは親クラスからpublicおよびprotectedメソッドのすべてを継承します。クラスがそれらのメソッドをオーバーライドしない限り、それらは元の機能を保持します。

関連する問題