如何扩展子类中的特定方法

时间:2014-09-08 16:15:32

标签: php wordpress oop

我对oop不是很了解,但对此知之甚少。

我正在尝试扩展一个类..实际上我想为类方法添加一些额外的功能......

这是课程,我正在努力扩展

  

https://github.com/tammyhart/Reusable-Custom-WordPress-Meta-Boxes/blob/master/metaboxes/meta_box.php

save_box()方法

中使用以下代码
if ( ! wp_is_post_revision( $post_id ) && 'testimonials' == get_post_type( $post_id ) ) {
    remove_action( 'save_post', 'testimonials_save_post' );

    wp_update_post( array(
        'ID' => $post_id,
        'post_title' => 'Testimonial - ' . $post_id
    ) );

    add_action( 'save_post', 'testimonials_save_post' );
}

1 个答案:

答案 0 :(得分:0)

这是一个实例化只包含新方法的子类的问题。考虑sample file

include_once( 'meta_box.php' ); // ORIGINAL
include_once('my-class.php');   // CHILD

// Instantiate the Child Class
$sample_box = new My_Custom_Add_Meta_Box( 'sample_box', 'Sample Box', $fields, 'post', true );

my-class.php将包含:

class My_Custom_Add_Meta_Box extends Custom_Add_Meta_Box {
    /**
     * saves the captured data
     */
    function save_box( $post_id ) {
        wp_die('Child class save method called.');
        # do_something();
    }
}