Php 将自己的类代码放入单独的文件后,admin类不可用
为了创建自己的表,我扩展了类WP_List_表。这很好,但将我自己的扩展类放入单独的文件后,基类不再可用: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
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;
}