0

我创建了一个类来构建自定义帖子类型,并且我试图包含一种为该帖子类型插入特定短代码的方法,但我似乎无法获取 add_shortcode() 的回调函数以从内部获取函数创建的对象。

我有类似的东西:

class custom_post_type {

    public $post_type_name;

    function __construct($id,$options) {
        //builds the custom post type, etc
        $this->post_type_name = $id;
        $shortcode = new build_shortcode($id,$options);
    }

    public function shortcode_handler($atts) {

    return $this->post_type_name;        

    }
}

class build_shortcode {
     function __construct($id,$options) {
           add_shortcode( $options['shortcode_name'] , array(  $id ,'shortcode_handler') );
     }
}

$options = array(); // a bunch of variables would be defined here to use in the classes
$post_type = new custom_post_type('post_type',$options);

但是当我使用 [show-cpt-name] 短代码时,它不会运行该功能。我知道他们在 Codex 中给出了使用类的示例,例如:

add_shortcode( $options['shortcode_name'] , array( 'custom_post_type' ,'shortcode_handler'));

但这不是我要找的,因为我希望回调函数使用来自创建的特定对象的值。

这有可能实现吗?

4

0 回答 0