Php 将自己的类代码放入单独的文件后,admin类不可用

Php 将自己的类代码放入单独的文件后,admin类不可用,php,wordpress,oop,Php,Wordpress,Oop,为了创建自己的表,我扩展了类WP_List_表。这很好,但将我自己的扩展类放入单独的文件后,基类不再可用: if ( ! class_exists( 'WP_List_Table' ) ) { require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' ); } if ( ! class_exists( 'myListC

为了创建自己的表,我扩展了类WP_List_表。这很好,但将我自己的扩展类放入单独的文件后,基类不再可用:

    if ( ! class_exists( 'WP_List_Table' ) )
    {
            require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );                      
    }

    if ( ! class_exists( 'myListClass' ) )
    {
            require_once( plugin_dir_url(__FILE__) . 'inc/mylistclass.php' );
    }

如果我将文件中的内容直接放入脚本中,它会正常工作,但当按照所述加载代码时,我会得到:

致命错误:未捕获错误:在…中找不到类“WP\u列表\u表”


文件名:class-my-list-table.php

<?php
if ( ! class_exists( 'WP_List_Table' ) ) {
    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
}

class My_List_Table extends WP_List_Table {
...
}

...

通过观看,我学会了WP_列表。感谢作者。

您在存在类的地方有所需文件?我不是舒尔,您的意思是,我是否要将基类文件再次包含到我的类文件中?由于某些原因,这里没有定义ABSPATH。但主要问题是:我不明白,为什么代码移动到文件中会使WP_List_表不可见。
<?php
if ( ! class_exists( 'WP_List_Table' ) ) {
    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
}

class My_List_Table extends WP_List_Table {
...
}

...
add_action( 'admin_menu', 'my_list_table_menu' );

function my_list_table_menu() {
    add_menu_page(
        'My List Table',
        'My List Table',
        'manage_options',
        'my-list-table',
        'my_list_table_callback'
    );
}

function my_list_table_callback() {
    ob_start();
    include_once plugin_dir_path( __FILE__ ) . 'class-my-list-table.php';
    $template = ob_get_contents();
    ob_end_clean();
    echo $template;
}