如何从主题中的插件输出函数

时间:2018-02-09 作者:scopeak

我正在使用插件Chargebee WP Membership 连接到他们的API以处理付款。目前,他们只使用短代码来限制内容。

我想做的是在页面模板中输出这些短代码的函数。到目前为止,我已经尝试do_shortcode 方法,但宁愿直接访问该函数。

Github文件:https://github.com/brendenplugin/chargebee-wp-membership-plugin/blob/master/admin/helper/class-chargebee-membership-shortcodes.php

对于cb_content_show 短代码格式当前为:

[cb_content_show level="1"] This content will be shown to any users who have plan associated with Level 1 [/cb_content_show] 
直接访问此功能的最佳方法是什么?我相信它源于函数render_content_show_hide() - 第707行

public function render_content_show_hide( $attr, $content = null, $shortcode_name = \'\' ) { ...
理想情况下,我希望访问函数,例如:

<?php
if (cb_content_show(\'level\') == 1) :
//do something
endif; 
?>

2 个回复
最合适的回答,由SO网友:scopeak 整理而成

通过访问get_user_meta 价值观

<?php    
$user_id = get_current_user_id();
$key = \'chargebee_user_subscriptions\';
$all_meta_for_user = get_user_meta( $user_id, $key, true  );
print_r($all_meta_for_user);

SO网友:Maxim Sarandi

看起来像函数render_content_show_hide() 是类的方法。如果希望直接访问此函数,可以创建新的类实例。

如果插件代码如下所示:

class Shortcode_Builder{
    //...methods
    public function render_content_show_hide( $attr, $content = null, $shortcode_name = \'\' ) { 
        //...
    }

    //...other methods.


}
创建新实例

$builder = new Shortcode_Builder();
以及访问您的功能$builder->render_content_show_hide()

结束