Добавить виджет WordPress на панель инструментов, используя класс PHP - PullRequest
0 голосов
/ 27 января 2010

Я просто собираю небольшой плагин типа '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 Ответ

2 голосов
/ 27 января 2010

Ваш третий аргумент должен быть обратным вызовом, который может принимать различные формы в PHP. В этом случае вам, вероятно, понадобится следующее:

    function setup_sample_widgets() {
        wp_add_dashboard_widget('sample_ideas_widget', 'Sample Widget', array($this,'addSampleDashboard'));  
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...