使用PHP Class将wordpress小部件添加到仪表板

时间:2010-01-27 16:54:45

标签: php wordpress class object

我只是将一个'hello world'类型插件放在一起,将一个小部件添加到仪表板中。该插件正在初始化,一切都很好,我只是在向窗口小部件添加内容时遇到问题。这是代码:

/*
 * Setup the class
 */
if(!class_exists("SampleClassSeries")){
    class SampleClassSeries {
        function sampleClassSeries(){
            //Constructor
        }
        //Our dashboard widget
        function addSampleDashboard(){
            ?>
                <p>This is a test plugin samlple yo!</p>
            <?php
        }
        function setup_sample_widgets() {
            wp_add_dashboard_widget('sample_ideas_widget', 'Sample Widget', 'addSampleDashboard');  
        }
    }//End sampleClassSeries
}
/*
 * Initialise the class
 */
if(class_exists("SampleClassSeries")){
    $samp_classSeries = new SampleClassSeries();
}
/*
 * Attach actions and filters
 */
if(isset($samp_classSeries)){
    //Add actions here
    add_action('wp_dashboard_setup', array(&$samp_classSeries, 'setup_sample_widgets'), 1);
}

现在我确定问题在于“wp_add_dashboard_widget”,我正在调用“addSampleDashboard”。我猜它不能看到我正在获得的功能

  

警告:   call_user_func(addSampleDashboard)   [function.call-user-func]:首先   参数预计是有效的   回调

1 个答案:

答案 0 :(得分:2)

你的第三个参数需要是一个回调,它可以采用PHP中的各种形式。在这种情况下,您可能需要以下内容:

    function setup_sample_widgets() {
        wp_add_dashboard_widget('sample_ideas_widget', 'Sample Widget', array($this,'addSampleDashboard'));  
    }