3

我写那个代码

<?php
/**
* @package ppa
* @version 0.1
*/
/*
Plugin Name: PPAPlugin
Description: PPAPlugin desct
Author: Sekhmet
Version: 0.1
*/

    register_activation_hook( plugin_basename( __FILE__ ), array( 'PPA', 'activate' ) );
    register_deactivation_hook( plugin_basename( __FILE__ ), array( 'PPA', 'deactivate' ) );
    register_uninstall_hook( plugin_basename( __FILE__ ), array( 'PPA', 'uninstall' ) );


    class PPA
    {
        const NAME = "PPA";

        public static function activate() {
        self :: ppa_add_dashboard();
        }

        public static function deactivate() {
        }

        public static function uinstall() {
        }

        function ppa_add_dashboard() {
            wp_add_dashboard_widget( 'ppa_widget', self :: NAME , array($this, 'ppa_dashboard_widget') );
        }

        function ppa_dashboard_widget() {
        }
    }


?>

但是当我尝试在 ACP 上启用它时,我得到了这样的消息:

致命错误:在第 35 行的 /home/muffinki/domains/muffinki.org/public_html/wp-content/plugins/ppa/ppa.php 中调用未定义函数 wp_add_dashboard_widget()

Wordpress 版本 3.5.1(最新)。

4

1 回答 1

6

将您的函数挂钩ppa_add_dashboard()wp_dashboard_setup操作中,以便在正确的时间调用它。

public static function activate() {
    add_action( 'wp_dashboard_setup', array( __CLASS__, 'ppa_add_dashboard' ) );
}

参考:

http://codex.wordpress.org/Function_Reference/wp_add_dashboard_widget

http://codex.wordpress.org/Dashboard_Widgets_API

于 2013-01-27T10:48:18.173 回答