WordPress管理页面范围问题 - 菜单显示,页面文本无法呈现



wordpress 5.1,ubuntu 18.04 v box windows主机上的vbox

我创建了一个插件"示例管理页"

我已经看到了菜单项,但是页面呈现为空白,而不是在代码中建议的html"欢迎..."文本。我知道这是一个范围问题,但我不确定如何处理。是的,我可以将其全部带到班级之外,并且可以渲染,但是使用课程应该是一个好练习,所以我宁愿这样做。我将感谢一种如何正确进行的方法。

class EAP_Example_Widget {
    function __construct() {
        add_action( 'admin_menu', array($this,'my_admin_menu'));
    }
    function my_admin_menu() {
        add_menu_page( 'Example Admin Page', 'EAP Menu', 'manage_options', 'eap-plugin/eap-admin-page.php', 'eap_admin_page', 'dashicons-tickets', '9999' );
        add_submenu_page( 'eap-plugin/eap-admin-page.php', 'Example Admin Sub Page', 'EAP Sub Menu', 'manage_options', 'eap-plugin/eap-admin-sub-page.php', 'eap_admin_sub_page' ); 
    }
    function eap_admin_page(){
        echo '<h2>Welcome To Example Admin Page</h2>';
    }
    function eap_admin_sub_page(){
        echo '<h2>Welcome To Example Admin Sub Page</h2>';
    }
}
// Setup and initialize the admin page.
$eap_admin_page_startup = new EAP_Example_Widget();

这绝对是一个范围问题。

为了从另一个函数中调用一个函数,我必须自我参考class eap_eap_example_widget。

例如,对于可可函数而不是仅仅是'eap_admin_page',它需要为:

__CLASS__ .'::eap_admin_page'.

请参见下面的固定示例。现在它有效。

class EAP_Example_Widget {
    function __construct() {
        add_action( 'admin_menu', array($this,'my_admin_menu'));
    }
    function my_admin_menu() {
        add_menu_page( 'Example Admin Page', 'EAP Menu', 'manage_options', 'eap-plugin/eap-admin-page.php', __CLASS__ .'::eap_admin_page', 'dashicons-tickets', '9999' );
        add_submenu_page( 'eap-plugin/eap-admin-page.php', 'Example Admin Sub Page', 'EAP Sub Menu', 'manage_options', 'eap-plugin/eap-admin-sub-page.php', __CLASS__ .'::eap_admin_sub_page' ); 
    }
    function eap_admin_page(){
        echo '<h2>Welcome To Example Admin Page</h2>';
    }
    function eap_admin_sub_page(){
        echo '<h2>Welcome To Example Admin Sub Page</h2>';
    }
}
// Setup and initialize the admin page.
$eap_admin_page_startup = new EAP_Example_Widget();

最新更新